我正在尝试在我的访问数据库中插入数据,但我收到Syntax error in INSERT statemnt
例外。有人请帮我解决此错误...也许我的插图声明不正确?
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Try
If cmbTo.Text = "" Or cmbfrom.Text = "" Or cmbDay.Text = "" Or cmbMonth.Text = "" Or cmbYear.Text = "" Or cmbListBus.Text = "" Then
MsgBox("Please Insert Your Destination")
Else
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Hacke\source\repos\Student\Database\studentdatabase.mdb")
Dim insert As String = "INSERT INTO [BUSTICKET] VALUE ('" & cmbfrom.Text & "','" & cmbTo.Text & "','" & cmbDay.Text & "','" & cmbMonth.Text & "','" & cmbYear.Text & "','" & cmbListBus.Text & "');"
Dim cmd As New OleDbCommand(insert, conn)
conn.Open()
cmd.ExecuteNonQuery()
MsgBox("Success")
conn.Close()
End If
Catch ex As Exception
MsgBox("Err : " & Err.Description)
End Try
End Sub
结束班
答案 0 :(得分:0)
您帖子中的一些错误让我们有点难以理解。无论如何,我已经提交了您的帖子的编辑。
我到目前为止看到的问题是你还没有定义要插入数据的表。例如,如果你的表名是Students
,那么样本sql / OleDb语句可能会看起来像
"Seletct * from Students",ConnectionString
注意:在下面的语句中,我使用了(*),这意味着我没有选择/定位任何特定的列/单元格,而是所有的列/单元格。此语句专门用于各种目的从数据库中检索数据时。
但是,您的动机是在数据库中插入数据。
任何数据库软件(AFAIK)的INSERT
语句必须包含您要定位的Table
名称,Column/Cell
标题/名称。请假设您的{{1}名称为Table
,您希望在Students
,FirstName
列中插入数据。然后示例LastNmae
语句可能如下所示:
Insert
现在,注意我没有直接在语句中添加值。如果需要,你可以这样做。但是,在这个示例插入语句中,我宁愿定义一些参数名称,如{ {1}}和"Insert into Students(FirstName,LastName)values(@fname,@lname)", ConnectionString
。稍后将用于最终将数据插入表格列。
现在,如果您使用我的示例代码,您必须从应用程序为这些参数指定一些值。我们现在有2个参数,它们是@Fname
和@Lname
。我们现在需要添加对它们的字面值。让我们假设这些值来自@Fname
es。
@Lname
在完成将文本框(或某些字符串或其他内容)作为值分配之后,是时候执行命令以便插入数据了。为此,我们通常会调用:
TextBox
所以,这是一个完整的样本:
MyOledbCommand.Add("@Fname",OledbDatatype.VarChar).Value = FNameTxtBox.Text
'Or you can use :
MyOledbCommand.AddWithValue("@Fname",FNameTxtBox.Text)
希望这会有所帮助:)