Announcement

Collapse
No announcement yet.

Fehler in der INSERT Anweisung?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler in der INSERT Anweisung?

    Hallo,

    ich bekomme folgende Fehlermeldung:

    Eine nicht behandelte Ausnahme des Typs 'System.InvalidCastException' ist in db_daten_einfuegen.exe aufgetreten.

    Zusätzliche Informationen: Die angegebene Umwandlung ist ungültig

    Wo liegt hier der Fehler?

    Mein Code:
    Dim dbInsertCommand As OleDb.OleDbCommand

    Dim dbFile As String = GetPath() & "test.mdb"

    Dim dbCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbFile

    Dim testCon As OleDb.OleDbConnection

    dbInsertCommand = New OleDb.OleDbCommand("INSERT INTO abc (id_nr, test) Values ('1', 'TEXT')", testCon)

    Try
    testCon.Open()
    dbInsertCommand.ExecuteNonQuery()
    Catch ex As Exception
    MessageBox.Show(ex, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
    Finally
    testCon.Close()
    End Try

    id_nr ist autowert und PrimaryKey
    test ist text in DB

    Danke für die Hilfe.

  • #2
    Hallo,

    wenn die Spalte <i>id_nr</i> der Tabelle <i>abc</i> ein INTEGER-Wert ist, darf der Wert nicht als Zeichenkette übergeben werden. Wenn diese Spalte zusätzlich als Autoinkrementell gekennzeichnet wurde, darf überhaupt kein Wert beim Insert-Aufruf übergeben werden (da die Datenbank selbst diesen Wert beim Anlegen des neuen Datensatzes festlegt).

    Generell ist es üblich, Parameter für diese OleDbCommand-Instanz zu verwenden - in diesem Fall bekommt man die eigenen Fehler nicht erst zur Laufzeit um die Ohren gehauen ;-

    Comment

    Working...
    X