Daten in SQL Datenbank füllen


christine82

Grünschnabel
Hallo Zusammen,

schon wieder ein Problem:
Ich möchte Daten die ich in TextBoxen und in eine ComboBox eingegeben habe einlesen und in eine SQL-Datenbank schreiben. Nun erscheint bei da.Fill(ds, "tblBenutzer") immer ein Systemfehler....
Kann mir jemand dabei helfen, herauszufinden an was dies liegt?
Bin totaler Anfänger... *seufz*

Dim strName, strVorname, strKuerzel, strPasswort AsString
Dim strRollen_id AsInteger
strName = txtBenuAdminName.Text
strVorname = txtBenuAdminVorname.Text
strKuerzel = txtBenuAdminKuerzel.Text
strRollen_id = comboBenuAdminRolle.Text

Me.SqlConnectionBenuAdmin.Open()

Dim ds AsNew DataSet
Dim da AsNew SqlClient.SqlDataAdapter("INSERT INTO tblBenutzer (name, vorname, kuerzel, passwort, rollen_id) values (strName, strVorname, strKuerzel, '123456' , strRollen_id)", Me.SqlConnectionBenuAdmin)
da.Fill(ds, "tblBenutzer")

Vielen Dank!
 

Norbert Eder

Erfahrenes Mitglied
Weil du nur ein SelectStatement an den Constructor übergeben kannst. Kein Insert-Statement.
-> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatasqlclientsqldataadapterclassctortopic2.asp

Dafür gibts dann die Properties
- DeleteCommand
- InsertCommand
etc.

Alle dafür notwendigen Informationen (auch Beispiele) findest du unter:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlDataAdapterClassTopic.asp
 

derAlex

Mitglied
Hallo,

Du hast ja Deinen Fehler nicht genau beschrieben. Aber dennoch solltest Du die als Integer deklarierte RollenID auch als Integer der Datenbank übergeben. Bisher ist das noch ein String. Das kann dann natürlich zum Fehler führen, weil die Datenbank eine Zahl erwartet. Im VB kannst Du das mit CInt(blablabla.text) machen.

Versuche mit Datentypen immer ordentlich zu sein, das erspart mühsame Fehlersuchen.
Deshalb C# nutzen...da is der Kompiler pingeliger :)

Ansonsten gehe ich davon aus, dass Deine Datenbankverbindung passt. Vielleicht solltest die ganze Geschichte besser mit ADO machen. Ist zuverlässig, einfach und gut dokumentiert.

Gruß

Alex
 
Zuletzt bearbeitet: