【发布时间】:2016-03-04 22:52:27
【问题描述】:
我有一个访问数据库,我正在尝试向其中插入记录。这似乎很简单,而且在大多数情况下,我所拥有的所有代码都是有意义的。我可以在 VS 15 中创建查询并将它们插入到我的数据库中,但由于某种原因,我插入记录的功能不起作用。有人可以在这里看到我做错了吗?
Private Function SendData(eData As String)
Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=|DataDirectory|web407db.mdb"
Dim cn As OleDbConnection = New OleDbConnection(connectString)
cn.Open()
Dim selectString As String = "INSERT INTO users(encryptID, firstName, lastName, userName, password, email) VALUES ('" & GetHash(eData) & "', '" & fName_in.Text & "', '" & lName_in.Text & "', '" & uName_in.Text & "', '" & pWord_in.Text & "', '" & email_in.Text & "')"
Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)
cmd.ExecuteNonQuery()
cn.Close()
Return True
End Function
该函数在 cmd.ExecuteNonQuery 上给了我一个未处理的异常
这是堆栈跟踪
[OleDbException (0x80040e14): INSERT INTO 语句中的语法错误。] System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult 小时)+1130764
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams、对象和执行结果)+247
System.Data.OleDb.OleDbCommand.ExecuteCommandText(对象& 执行结果)+208
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior 行为,对象和执行结果)+58
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior 行为,字符串方法)+162
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +107
WebAppUOP.About.SendData(String eData) in c:\users\debuwa\documents\visual studio 2015\Projects\WebAppUOP\WebAppUOP\AddContact.aspx.vb:41
c:\users\debuwa\documents\visual 中的 WebAppUOP.About.SubmitContact() 工作室 2015\Projects\WebAppUOP\WebAppUOP\AddContact.aspx.vb:26
WebAppUOP.About.Button1_Click(Object sender, EventArgs e) in c:\users\debuwa\documents\visual studio 2015\Projects\WebAppUOP\WebAppUOP\AddContact.aspx.vb:12
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9669962
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 事件参数)+108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 事件参数)+12
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串 eventArgument) +15
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +3562
`
【问题讨论】:
-
在此处输入您的异常详细信息。
-
任何数据库密码以及你得到什么样的异常/错误
-
System.Data.dll 中出现“System.Data.OleDb.OleDbException”类型的异常,但未在用户代码中处理其他信息:INSERT INTO 语句中的语法错误。
-
@DezOnlyOne,请检查您的表名、列名、列数据类型和列映射是否正确。
-
是的,他们是正确的。当我在 Visual Studio 中运行查询时,它会更新得很好。
标签: asp.net database vb.net ms-access