Forums Neueste Beiträge
 

ADO.NET 2.0 - programmgesteuert Zeilen hinzufügen ...

02/02/2008 - 18:56 von Nicolas Nickisch | Report spam
Ich werde noch wahnsinnig mit diesem ADO.NET.

Ich will einfach einer vorhandenen Access-Datenbank Zeilen hinzufügen.

Ich habe auf meinem Formular einen Table-Adpater namens 'CANPackets'.
Dann wàre da noch ein Dataset namens 'Packets'.
Die machen anscheinend daselbe, jedenfalls bekomme ich mit Datenvorschau bei
beiden dieselben Daten zu sehen.


Ich möchte nun der zugrundeliegenden Tabelle eine neue Zeile hinzufügen,
nachdem ich die verschiedenen Felder mit Informationen beschrieben habe.

kann mir jemand helfen ?
Ich steig nicht mehr durhc. habe ziemlich viel gelesen und dennoch keinen
Erfolg.


Gruss Nico
 

Lesen sie die antworten

#1 Peter Götz
02/02/2008 - 19:42 | Warnen spam
Hallo Nicolas,

Ich will einfach einer vorhandenen Access-Datenbank
Zeilen hinzufügen.



Wenns nur um einen neuen Datensatz geht, dann könnte
das z.B. in etwa so aussehen.

Dim Cnn as new OleDbConnection
' ... Connection öffnen
Dim strSQL As String
Dim Cmd As OleDbCommand

strSQL = "INSERT INTO Tabelle (ID, Text, Datum) Values (?, ?, ?)"
Cmd = New OleDbCommand(strSQL, Cnn)
Cmd.Parameters.Add(New OleDbParameter("@ID", GetType(Integer)))
Cmd.Parameters.Add(New OleDbParameter("@Text", GetType(String)))
Cmd.Parameters.Add(New OleDbParameter("@Datum", GetType(Date)))

Cmd.Parameters(0).Value = 123
Cmd.Parameters(1).Value = "EinText"
Cmd.Parameters(2).Value = New Date(2008, 2, 15)

Dim RetVal As Integer = Cmd.ExecuteNonQuery

Im Beispiel wird ein neuer Datensatz mit den Feldern ID, Text, Datum
der "Tabelle" hinzugefügt.
RetVal hat nach erfolgreicher Ausführung den Wert 1.


Ich habe auf meinem Formular einen Table-Adpater namens
'CANPackets'.
Dann wàre da noch ein Dataset namens 'Packets'.
Die machen anscheinend daselbe, jedenfalls bekomme
ich mit Datenvorschau bei beiden dieselben Daten zu sehen.



Ein DataAdapter und ein DataSet sind schon zwei sehr
verschiedene Dinge. Ein DataAdapter dient dazu Daten
aus einer DB zu lesen, Daten in eine DB zu schreiben oder
Daten aus einer DB zu löschen. Dafür braucht der DataAdapter
einen SelectCommand, einen UpdateCommand, einen
InsertCommand und einen DeleteCommand.

Ein DataSet ist ein Container für DataObjekte wie DataTables,
DataRelations und eben auch DataAdapter.

Ich möchte nun der zugrundeliegenden Tabelle eine
neue Zeile hinzufügen,



Die musst Du erst mal Deiner lokalen DataTable hinzufügen

Dim DR as DataRow
DR = DeineDataTable.NewRow
DR.Item(0).Value = 123
DR.Item(1).Value = "blablabla"
DR.item(2).Value = Now
DR.Item(x).Value =

DeineDataTable.Rows.Add DR

DeinDataAdapter.Update(DeineDataTable)


nachdem ich die verschiedenen Felder mit Informationen
beschrieben habe.

kann mir jemand helfen ?



Am besten die Online-Hilfe.
Zusàtzlich zum oben gezeigten solltest Du Dir die OH
zu DataAdapter.SelectCommand, .InsertCommand,
.UpdateCommand und .DeleteCommand ansehen.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen