我用dreamweaver MX2004下用VB.Net和asp.net编写一个页面的时候,想更新数据库(access 2003)
以前用这种方法能行,但不知道为什么今天就说我update语句有错,敢问各位大虾指教!
代码如下 :
sub Sure_Click(sender as Object,e as EventArgs)
dim MyCon as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database/xj.mdb"))
dim sqlUpdate as string
sqlUpdate ="update Teachers set Teacher_Name='"& Tea_Name.text.trim &"',Title='"& Tea_Title.text.trim &"',Work_Years='"& Tea_WYears.text.trim &"',InDate='"& Tea_InDate.text.trim &"',Department_Name='"& Tea_Dep.text.trim &"',Faculty_Name='"& Tea_Fac.text.trim &"',Workplace_Phone='"& Tea_WPhone.text.trim &"',Memo='"& Tea_Memo.text.trim &"' where Teacher_ID='"& Tea_ID.text &"'"
dim MyCom as new OleDbCommand(sqlUpdate,MyCon)
try
MyCon.open()
MyCom.ExecuteNonQuery()
MyCon.close()
Catch er As System.Data.OleDb.OleDbException
response.Write(er)
end try
end sub
以前用这种方法能行,但不知道为什么今天就说我update语句有错,敢问各位大虾指教!
代码如下 :
sub Sure_Click(sender as Object,e as EventArgs)
dim MyCon as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database/xj.mdb"))
dim sqlUpdate as string
sqlUpdate ="update Teachers set Teacher_Name='"& Tea_Name.text.trim &"',Title='"& Tea_Title.text.trim &"',Work_Years='"& Tea_WYears.text.trim &"',InDate='"& Tea_InDate.text.trim &"',Department_Name='"& Tea_Dep.text.trim &"',Faculty_Name='"& Tea_Fac.text.trim &"',Workplace_Phone='"& Tea_WPhone.text.trim &"',Memo='"& Tea_Memo.text.trim &"' where Teacher_ID='"& Tea_ID.text &"'"
dim MyCom as new OleDbCommand(sqlUpdate,MyCon)
try
MyCon.open()
MyCom.ExecuteNonQuery()
MyCon.close()
Catch er As System.Data.OleDb.OleDbException
response.Write(er)
end try
end sub
update Teachers set Teacher_Name='彭四伟',Title='教授',Work_Years='6',InDate='2001-1-1',Department_Name='信息科学与技术',Faculty_Name='计算机科学与技术',Workplace_Phone='64444968',Memo='sdgf方' where Teacher_ID='009'以下是系统提示的出错信息:
'009'System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at ASP.Chg_Teacher_aspx.Sure_Click(Object sender, EventArgs e) in D:\ALL_PROJECTS\网页\电子商务\学籍管理系统\Chg_Teacher.aspx:line 41
再确认数据类型……
Teacher_ID也是用的文本?可能是数字吧
比如 password 换成[password],看看。