update的问题
String sCode = "abc "
String strConn = //数据库地址
OleDbConnection Conn = new OleDbConnection(strConn);
Conn.Open();
String strSQL = "update [Login] set passWord= ' " + chPwd.Text + " ' ,studCode= ' " + sCode + " ' where studCode= ' " + sCode + " ' ";
OleDbCommand Cmd = new OleDbCommand(strSQL, Conn);
Cmd.ExecuteNonQuery();
Conn.Close();
——————————用上面的语句update出错——————————
用户代码未处理
System.Data.OleDb.OleDbException Message= "UPDATE 语句的语法错误。 "
Source= "Microsoft JET Database Engine "
ErrorCode=-2147217900
StackTrace:
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
在 Chax.Button1_Click(Object sender, EventArgs e) 位置 c:\Documents and Settings\xhy\My Documents\Visual Studio 2005\WebSites\WebSite1\Chax.aspx.cs:行号 28
在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
------解决方案--------------------SQL语句有错误。
断点,调试。追到SQL语句的时候OleDbCommand Cmd = new OleDbCommand(strSQL, Conn);
把strSQL语句追出来,用别的数据库软件,比如SQL Explor或SQLserver的查询分析器执行一下,看报什么错。像你这个一般应该是表名不存在或者字段类型的问题。
------解决方案--------------------String strSQL = "update [Login] set [passWord]= ' " + chPwd.Text + " ' ,studCode= ' " + sCode + " ' where studCode= ' " + sCode + " ' ";
如果用的是ACCESS,password是关键字,要