Gateway_man Geschrieben 29. Januar 2009 Geschrieben 29. Januar 2009 (bearbeitet) Wie oben schon steht habe habe ich eine Access Datenbank. In diese will ich Daten hinzufügen und hab es folgendermaßen versucht: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim con As New OleDb.OleDbConnection Dim cmd As New OleDb.OleDbCommand Dim reader As OleDb.OleDbDataReader Dim pnummer As New ArrayList con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Dokumente und Einstellungen\1K46\Eigene Dateien\Datenbanken\Benutzer.mdb" cmd.Connection = con Dim anzahl As Integer If TextBox2.Text = "" Then MsgBox("Bitte mindestens ein " _ & "Passwort eintragen") Exit Sub End If Try con.Open() cmd.CommandText = _ "insert into nutzer " & _ "(user, pass) " & _ "values ('" & _ TextBox1.Text & "', '" & _ TextBox2.Text & "')" MsgBox(cmd.CommandText) anzahl = cmd.ExecuteNonQuery() If anzahl > 0 Then MsgBox("Es wurde ein Datensatz eingefügt") End If Catch ex As Exception MsgBox(ex.Message) End Try con.Close() AlleSehen() End Sub so nun wirft er mir ne exaption was unweigerlich an der Zeile anzahl = cmd.ExecuteNonQuery() liegt. Ich hab keine Ahnung was er da genau von mir will ( hab heute erst mit Datenbanken angefangen also nicht zu hart zu mir sein, wenns n offensichtlicher fehler is.) Bearbeitet 29. Januar 2009 von Gateway_man Zitieren
Amstelchen Geschrieben 29. Januar 2009 Geschrieben 29. Januar 2009 poste bitte mal die relevanten informationen der exception (oder die der SqlException, wenn diese vom server zurückgegeben wird). es macht auch IMO kaum sinn, anzahl > 0 auszuwerten. gib doch einfach die tatsächliche anzahl der betroffenen zeilen zurück (auch wenns in deinem fall nur eine eine ist). ausserdem würde ich deine in die DB insertierende prozedur in einer eigenen funktion kapseln. wenn du mal mehrere aufrufe ähnlich wie bei Button3 benötigst, schreibst du unnötig viel code. s'Amstel Zitieren
Gateway_man Geschrieben 29. Januar 2009 Autor Geschrieben 29. Januar 2009 (bearbeitet) Folgendes kommt im Output fenster: A first chance exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll und als fehler in form der MessageBox sagt er mir : Syntaxfehler in der Insert Into-Anweisung hm kann ich ja nicht da es in der Laufzeit Anzahl der Zeilen vergrößert und da ich ja komplette Zeilen hinzufüge. also muss ich im ja sagen wenn größer als null da sich die Anzahl in der Laufzeit vergrößert. Bearbeitet 29. Januar 2009 von Gateway_man Zitieren
Amstelchen Geschrieben 29. Januar 2009 Geschrieben 29. Januar 2009 poste mal den (fertigen) CommandText. s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.