问题描述
数据库是ACCESS,用VB.NET2005去写,想用UPDATE更新数据库,运行一直弹出问题,提示UPDATE语法错误,我检查过代码也发现不到什么问题,请大家帮忙看看,代码如下:ImportsSystem.Data.OleDbPublicClassfrmedituserDimmyconnectionAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Application.StartupPath&"db1.mdb")DimmycommandAsOleDbCommandDimmyreaderAsOleDbDataReaderPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfTrim(TextBox2.Text)=""ThenMsgBox("输入的用户姓名不能为空",MsgBoxStyle.Information,"提示")ExitSubElseIfTrim(TextBox3.Text)=""ThenMsgBox("输入的用户密码不能为空",MsgBoxStyle.Information,"提示")ExitSubEndIfmyconnection.Open()DimsqlstringAsString="updatesystemuserssetname='"&TextBox2.Text&"',password='"&TextBox3.Text&"',position='"&TextBox4.Text&"',phone='"&TextBox5.Text&"',E-MAIL='"&TextBox6.Text&"'whereuserid='"&listbox1.SelectedItem&"'"mycommand=NewOleDbCommand(sqlstring,myconnection)Trymycommand.ExecuteNonQuery()CatchcAsExceptionMsgBox(c.ToString)EndTrymyconnection.Close()mycommand.Dispose()EndSub
解决方案
解决方案二:
弹出的错误信息是什么?你的sqlstring写得不好,那是很容易写错的.别人看起来也头疼.你该将数据库的和界面的分开来组织,不要混在一起.如PublicclassMyDb...PublicSubUpdate(nameasstring,...)...EndSubEndclass然后你可以这样了DimdbAsNewMyDbdb.Update(Textbox2.Text,...)
解决方案三:
就是提示UPDATE语法错误,我用的不是SQL,而是ACCESS,OLDBCONNECTION的,不是SQLCONNECTION
解决方案四:
怎么没人告诉我
解决方案五:
DimsqlstringAsString="update[systemusers]set[name]='"&TextBox2.Text&"',[password]='"&TextBox3.Text&"',position='"&TextBox4.Text&"',phone='"&TextBox5.Text&"',E-MAIL='"&TextBox6.Text&"'where[userid]='"&listbox1.SelectedItem&"'"
是不是用了保留字了,你这样改试试看吧
解决方案六:
感谢楼上的指导,我发现问题所在了,果然是保留字的问题,但不是你所指出的保留字,而是password,和position这2个,但还是你给了我提示,非常感谢。