Sea*_*n P 0 database vb.net ms-access insert autonumber
我试图插入访问数据库,PK是由DB生成的自动编号.我收到插入语句的语法错误,不知道为什么.如果可能,我想在同一语句中返回自动编号值.
这是我到目前为止所得到的.
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim str As String
Try
cn = New OleDbConnection("Provider=microsoft.Jet.OLEDB.4.0;Data Source=G:\Sean\BMSBonder3_0.mdb;")
cn.Open()
str = String.Format("Insert into Bonder(BonderName, BonderConfig, Date, User) values ('{0}', '{1}', '{2}', '{3}')", addBonder.BonderName _
, xmlString, Date.Now.ToString, Environment.UserName)
MsgBox(str)
cmd = New OleDbCommand(str, cn)
cmd.ExecuteNonQuery()
cn.Close()
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
Return Nothing
Run Code Online (Sandbox Code Playgroud)
显然在VB.Net中编码.在查询中,除自动编号字段外,设置所有字段值.
我敢向甜甜圈打赌这个问题是因为日期和用户都是保留字.将它们括在方括号中:
str = String.Format("Insert into Bonder(BonderName, BonderConfig, [Date], [User]) ....
Run Code Online (Sandbox Code Playgroud)
更好的是,将数据库中的字段重命名为非保留字以防止进一步的麻烦.
| 归档时间: |
|
| 查看次数: |
4661 次 |
| 最近记录: |