Insert mit VB.net in MS-SqlServer2005

Hallo,

das auslesen von Daten aus der Datenbank und das anzeigen in einem Datagrid funktioniert schon ganz gut.
Ich entwickle mit vb.net eine applikation, wo ich gerne aber auch inserts in die Datenbank machen würde, ich brauche aber von der tabelle wo ich die Inserts durchführe nur ca. 5 Felder von 20, was eigentlich egal sein sollte. Wenn ich das Statement als query in der DB eingebe funktioniert es problemlos, nur wie realisiere ich das in VB.net?

Mit einem OleDbCommand?

ich hab bis jetzt:

Dim insertString as String = "Insert-Statement"
Datenbank.insertDataAdapter = New OleDb.OleDbDataAdapter()
Dim insertCmd As New OleDb.OleDbCommand(insertString,\_ Datenbank.objConnection)
Datenbank.insertDataAdapter.InsertCommand = insertCmd
dim insertString as String = yourInsertString
Dim cmd As OleDb.OleDbCommand = Nothing
cmd = New OleDb.OleDbCommand(insertString, objConnection)
cmd.ExecuteNonQuery()

so gehts :smile:

Hi!
Ja, so geht’s, aber irgendwo vorher wirst Du Dir den „yourInsertString“ zusammenbasteln müssen, oder?
Wenn Du dabei einfach die einzufügenden Werte in die INSERT-Anweisung einfügst („INSERT INTO tab (bla, blubb) VALUES (“ & val1 & ", " & val2 & „);“) bist Du anfällig für sog. „SQL Injection Attacks“, das heisst, mit entsprechend präparierten Eingaben kann man ganz böse Sachen treiben…
Besser sind hier parametrierte Abfragen, dabei muss man aber noch ein bisschen mehr machen.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Habs doch noch anders gelöst, auf Seite der DB, mit Stored Procedures.