Ik krijg volgende foutcode als ik op "btnInsert" heb geklikt om een formulier in te voegen in mijn database.
code is ASP.NET, Vb en database is ms accessCode:De instructie INSERT bevat een syntaxisfout.
Hieronder de code voor de actie van btnInsert klik (INSERT).
PHP Code:
Protected Sub btnInsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnInsert.Click
Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
objCn.Open()
If id.Text <> "" Then
' Bestaand record => update
strSql = "UPDATE entries SET titel = @titel, " _
& "text = @text, " _
& "category = @category, " _
& "date = @date, " _
& "must = @must " _
& "WHERE id = @id; "
Else
' Nieuw record => Insert
strSql = "INSERT INTO entries(titel, text, category, date, must) " _
& "VALUES(@titel,@text,@category,@date,@must);"
End If
Dim objCmd As New System.Data.OleDb.OleDbCommand(strSql, objCn)
objCmd.Parameters.Clear()
objCmd.Parameters.Add("@titel", OleDbType.VarChar)
objCmd.Parameters("@titel").Value = titel.Text
objCmd.Parameters.Add("@text", OleDbType.VarChar)
objCmd.Parameters("@text").Value = FreeText.Text
objCmd.Parameters.Add("@category", OleDbType.VarChar)
If newCat.Text = "" Then
objCmd.Parameters("@category").Value = DropDownListCat.SelectedValue
Else
objCmd.Parameters("@category").Value = newCat.Text
End If
objCmd.Parameters.Add("@date", OleDbType.Date)
objCmd.Parameters("@date").Value = CType(lblDate.Text, Date)
objCmd.Parameters.Add("@must", OleDbType.Boolean)
objCmd.Parameters("@must").Value = CheckBoxMust.Checked
If id.Text <> "" Then
' parameter voor id aanmaken
objCmd.Parameters.Add("@id", OleDbType.Integer)
objCmd.Parameters("@id").Value = CType(id.Text, Integer)
End If
Try
objCmd.ExecuteNonQuery()
Catch ex As Exception
boodschap.ForeColor = Drawing.Color.Red
boodschap.Text = "Er trad een fout op bij het bewaren van de gegevens.<br />" & ex.Message
Exit Sub
Finally
If objCn.State = Data.ConnectionState.Open Then
objCn.Close()
End If
End Try
' Indioen nodig de nieuwe id ophalen voor verdere verwerking
If id.Text = "" Then
id.Text = GetHighestId().ToString
End If
boodschap.ForeColor = Drawing.Color.Green
boodschap.Text = "De gegevens zijn bewaard."
End Sub