Zum Inhalt springen

Access Datenbank Daten hinzufügen in vb


Gateway_man

Empfohlene Beiträge

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 von Gateway_man
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von Gateway_man
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...