Hallo Leute,
ich entwickele gerade eine Quiz-Anwendung, der eine Access DB zugrunde liegt.
Wenn ich mittels OLEDB-Command ein INSERT durchführe dann gibt mir ExecuteNonQuery zwar 1 zurück, aber die Tabelle hat keine neue Zeile.
Wenn ich nun einen Breakpoint setze mir den SQL-String herauskopiere, ihn direkt in Access in eine Abfrage schreibe und diese ausführe ist die neue Zeile da.
Könnt ihr mir sagen woran das liegt ?
Vielen Dank für eure Mühe
Gruß
Schnickalodeon
ich entwickele gerade eine Quiz-Anwendung, der eine Access DB zugrunde liegt.
Wenn ich mittels OLEDB-Command ein INSERT durchführe dann gibt mir ExecuteNonQuery zwar 1 zurück, aber die Tabelle hat keine neue Zeile.
Wenn ich nun einen Breakpoint setze mir den SQL-String herauskopiere, ihn direkt in Access in eine Abfrage schreibe und diese ausführe ist die neue Zeile da.
Könnt ihr mir sagen woran das liegt ?
VB.NET-Quellcode
- Private Sub InsertErgebnis(Richtig As Boolean)
- Dim Sqlconn As OleDbConnection = New OleDbConnection(My.Settings.QuizzConnection.ToString())
- Dim SqlStr As String = ""
- Dim Sqlcmd As New OleDbCommand(SqlStr, Sqlconn)
- Try
- Sqlconn.Open()
- SqlStr = "INSERT INTO t_Ergebnis (Schueler_ID, Session_ID, Fragen_ID, Richtig) " &
- "VALUES (" & UserID & ", " & SessionID & ", " & Me.lblFrageID.Text & " , " & CInt(Richtig) & ")"
- Sqlcmd = New OleDbCommand(SqlStr, Sqlconn)
- Dim AnzahlDS As Integer = Sqlcmd.ExecuteNonQuery()
- If AnzahlDS = 0 Then MessageBox.Show("Fehler beim Eintragen des Ergebnisses", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
- Catch ex As Exception
- MessageBox.Show("Fehler: " & ex.Message.ToString() & vbNewLine & ex.InnerException.ToString())
- Finally
- If Sqlconn.State <> ConnectionState.Closed Then Sqlconn.Close()
- Sqlcmd.Dispose()
- Sqlconn.Dispose()
- End Try
- End Sub
Vielen Dank für eure Mühe
Gruß
Schnickalodeon
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schnickalodeon“ ()