vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Re: Vb 2005: Daten lesen und wieder schreiben 
Autor: mkolb
Datum: 07.03.06 22:28

Ich habe "Jetzt lerne ich ADO.NET - das komplette Buch" durchgeackert. Habe dort einen schönen Code gefunden, damit ich per DataReader meine Daten auslesen kann. Habe dann festgestellt, daß wohl DBNull öfters vorhanden ist und entsprechend Try-Catch zum Abfangen eingebaut.

Ich habe ja nun meine ganzen Daten in einem schönen Array gespeichert: Daten.a-z

Nun wollte ich den umgekehrten Weg nehmen und Daten einfach aktualisieren.
Im Buch steht überall, alles über lange SQL-Befehle reinzukippen, irgendwie andere Wege der Datenbanken nochmals zugreifen.
Das versteh ich nicht. Auf die Datenbank greife ich bereits zu, will lesen und einfach ändern. Das wird sehr unheimlich kompliziert gemacht. Geht das nicht einfacher ?

Das ist mein LeseCode:

        Dim ConnString As String = "Provider=Microsoft.JET.OLEDB.4.0;data" & _
          "source=" + LStr_DatenbankName
        Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
        OleDbConn.Open()
        Dim MyDataReader As OleDbDataReader
        Dim MyOleDbCommand As OleDbCommand = New OleDbCommand()
        MyOleDbCommand.Connection = (OleDbConn)
        MyOleDbCommand.CommandText = LStr_SQL$
        MyDataReader = MyOleDbCommand.ExecuteReader
            Do While MyDataReader.Read
                NR = Val((MyDataReader.Item("nr")))
                Daten.FIRMA = (MyDataReader.Item("FIRMA"))
           LOOP
Im v. g. Buch steht für NEUEN DATENSATZ:

Dim conn As OleDbConnection = New
OleDbConnection(connString)
Dim sqlCmd As String = "INSERT INTO Kunden Values ({" &
System.Guid.NewGuid().ToString() & "}, " & _
"'Peter', 'Riesebehl', " & _
"'Baumstrasse 7', 20097, 'Hamburg', '040',“ & _
"'676767')"
Dim dbCmd As OleDbCommand =
New OleDbCommand(sqlCmd, conn)
conn.Open()
Zum ÄNDERN steht der folgende Code:

Dim conn As OleDbConnection = New
OleDbConnection(connString)
Dim sqlCmd As String = "UPDATE Kunden SET " & _
" [Telefon-Durchwahl] = '6785432' WHERE " & _
"Vorname = 'Peter' AND Nachname = 'Riesebehl'"
Dim dbCmd As OleDbCommand =
New OleDbCommand(sqlCmd, conn)
conn.Open()
Try
' Daten ändern
Dim res As Integer = dbCmd.ExecuteNonQuery()
Catch e As Exception
Console.WriteLine(e.Message)
End Try
conn.Close()
Für mich wird die SQL-Anweisung verdammmmmmmmt lange, weil ich ein paar mehr Datenfelder schreibe, daher habe ich alles schön im Array drin.

Geht das nicht eleganter für mich ?

mfg
Martin

mein aktuelles .net-Projekt:
http://www.fiman.de
freue mich über Test-Informationen.

Screenshots gibt es hier: http://www.fiman.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Vb 2005: Daten lesen und wieder schreiben1.897mkolb06.03.06 21:45
Re: Vb 2005: Daten lesen und wieder schreiben1.454ModeratorDaveS07.03.06 09:12
Re: Vb 2005: Daten lesen und wieder schreiben1.296ModeratorFZelle07.03.06 20:17
Re: Vb 2005: Daten lesen und wieder schreiben1.346mkolb07.03.06 22:28
Re: Vb 2005: Daten lesen und wieder schreiben1.318ModeratorFZelle07.03.06 20:25
Re: Vb 2005: Daten lesen und wieder schreiben1.244mkolb07.03.06 21:57
Re: Vb 2005: Daten lesen und wieder schreiben1.376ModeratorFZelle08.03.06 14:02
Re: Vb 2005: Daten lesen und wieder schreiben3.909ModeratorDaveS08.03.06 14:37

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel