Benutzer mit den meisten Antworten
Abfrage eine einzelnen Wertes aus MS-SQL-Datenbank mit VB.net

Frage
-
Hallo,
ich suche mich kaputt,
kann jemand helfen?
Als Programmierer alter Schule weiß ich genau, wo welches Datum zu finden ist, mit Datenbankname, Tabellenname, Spalte, Zeile. Ich schreibe VB in Visual Studio, nicht C. Leider lassen sich die Beschreibungen von C nicht auf VB übertragen. Mein Problem:
Wie kann ich in VB eine Datenbank öffnen, eine konkrete Tabelle ansprechen und einen konkreten Wert aus einer nach Spalte und Zeile bekannten Tabelle abrufen und einer Variablen zuweisen bzw. aus einer Variablen in eine konkrete nach Spalte und Zeile bekannte Zelle zurückschreiben und die Datenbank dann wieder schließen? Kleine zusätzliche Komplikation: Es kann sich um jeden beliebigen Datentyp (Text, Datum, Zahlen usw.) handeln, ich weiß aber selbstverständlich vorher, was kommen wird.
Ich weiß, das ist eigentlich keine Datenbankaufgabe, aber aus Gründen der Datenmenge brauche ich mehr als nur Excel und den relationalen Datenbankzugriff auf jede einzelne Speicherstelle.
Vielleicht weiß ja jemand, wie das geht, ordentlich beschrieben ist es jedenfalls nicht. Im Voraus besten
Dank
Spockspockspock
Fortschritt ist nicht, das Alte abzuschaffen, sondern das schlechte Alte durch etwas besseres zu ersetzen, das gute Alte aber zu erhalten, bis es etwas wirklich besseres gibt.
- Bearbeitet Stefan FalzModerator Mittwoch, 30. Januar 2019 11:38 Komische Tags entfernt
Antworten
-
Hi,
Dim Result As String Dim ConnectionString As String = "SERVER=<ServerNameOrderIpAdresse>;ADDRESS=<ServerNameOrderIpAdresse>,<TcpPortnummer>;UID=<Benutzername>;PWD=<Passwort>;DATABASE=<Datenbank>" Dim Connection As New SqlConnection( ConnectionString ) Dim Command As New SqlCommand( "SELECT <Spalte> FROM <Tabelle> WHERE ID = 1", Connection ) Connection.Open() Result = Command.ExecuteScalar().ToString() Connection.Close() Connection.Dispose()
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:30
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:01
-
Und ein Update mit Parametern sieht so aus:
Dim sql = "UPDATE dbo.Tabelle " & _ "SET Feld1 = @wert " & _ "WHERE ID = @id" Using conn As New SqlConnection(connectionstring) Using cmd As New SqlCommand(sql, conn) cmd.Parameters.AddWithValue("@wert", wert) cmd.Parameters.AddWithValue("@id", id) conn.Open() cmd.ExecuteNonQuery() End Using End Using
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:31
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:02
-
Ich bin jetzt nicht der VB Spezialist, aber vielleicht suchst Du etwas in dieser Richtung?
How to display query results from SQL server in VB?
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:30
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:01
Alle Antworten
-
Ich bin jetzt nicht der VB Spezialist, aber vielleicht suchst Du etwas in dieser Richtung?
How to display query results from SQL server in VB?
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:30
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:01
-
Hi,
Dim Result As String Dim ConnectionString As String = "SERVER=<ServerNameOrderIpAdresse>;ADDRESS=<ServerNameOrderIpAdresse>,<TcpPortnummer>;UID=<Benutzername>;PWD=<Passwort>;DATABASE=<Datenbank>" Dim Connection As New SqlConnection( ConnectionString ) Dim Command As New SqlCommand( "SELECT <Spalte> FROM <Tabelle> WHERE ID = 1", Connection ) Connection.Open() Result = Command.ExecuteScalar().ToString() Connection.Close() Connection.Dispose()
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:30
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:01
-
Und ein Update mit Parametern sieht so aus:
Dim sql = "UPDATE dbo.Tabelle " & _ "SET Feld1 = @wert " & _ "WHERE ID = @id" Using conn As New SqlConnection(connectionstring) Using cmd As New SqlCommand(sql, conn) cmd.Parameters.AddWithValue("@wert", wert) cmd.Parameters.AddWithValue("@id", id) conn.Open() cmd.ExecuteNonQuery() End Using End Using
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 4. Februar 2019 06:31
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 12. Februar 2019 14:02
-
Da würde ich mich mal so langsam einarbeiten, da "alte Schule" hier nicht mehr anwendbar ist.
https://docs.microsoft.com/de-de/dotnet/visual-basic/sample-applications
https://www.tutorialspoint.com/vb.net/
- Bearbeitet Der Suchende Mittwoch, 30. Januar 2019 15:02
-
Hallo,
@ Stefan Falz: Danke für die Textbereinigung. Die "merkwürdigen Tags" sind keine. Ich schreibe meine Texte in Office2000 unter Win2000 (immer noch best Windows eva). Leider verstehen die neuen Versionen Win2K-Steuerzeichen zum Teil nicht mehr und weisen dann "merkwürdige Tags" aus.
@ Stefan und Olaf Helper: Danke für den Code. Hätte lange danach suchen müssen, da ich nur Assembler und Basic gelernt habe ...
@ bfuerchau: Danke für die Links. Habe reingeschaut, aber für mein derzeitiges Projekt nichts nützliches gefunden. Schreibe an einer Simulation, die ausschließlich auf Algorithmen sprich Formeln basiert, ohne jede Vorgabe. Weil sie politische Meinungen prüfen soll (z.B. erhöht eine Senkung der Steuersätze wirklich die Steuereinnahmen?), kann man keine Vorgaben verwenden, nur Formeln. 99% mit Ausnahme der Datenspeicherung könnte man daher am Leichtesten im guten alten Commodore-Basic schreiben - aber was wird schon einfacher. Old School und zwar ganz old - nicht einmal Methoden und Eigenschaften nützen irgendwas, Rechenarten, Arrays und Kontrollstrukturen reichen völlig - funktioniert dafür recht gut. Trotzdem danke.
Fortschritt ist nicht, das Alte abzuschaffen, sondern das schlechte Alte durch etwas besseres zu ersetzen, das gute Alte aber zu erhalten, bis es etwas wirklich besseres gibt.