string str="update members set member_password=@member_password,security_level_id=@security_level_id,memo=@memo where member_id="+Utility.GetParam("id");
OleDbCommand myCmd = new OleDbCommand(str,Utility.Connection);
myCmd.Parameters.Add(new OleDbParameter("@member_password",OleDbType.Char,32));
myCmd.Parameters["@member_password"].Value=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(member_password.Text.Trim(),"MD5");
myCmd.Parameters.Add(new OleDbParameter("@memo",OleDbType.VarWChar));
myCmd.Parameters["@memo"].Value=DDL1.SelectedValue.ToString().Trim();
myCmd.Parameters.Add(new OleDbParameter("@security_level_id",OleDbType.UnsignedTinyInt));
myCmd.Parameters["@security_level_id"].Value=DDL1.SelectedIndex;
--------------------------------------------------------------------------------
提示错误:
-----------------------------------------------------------------------------
异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。
OleDbException (0x80040e14): UPDATE 语句的语法错误。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
ArticleBBS.Edit_Member.up_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\articlebbs\edit_member.aspx.cs:130
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
----------------------------------------------------------------------------------------
我用的是ACCESS,没怎么用过,请问SQL语句错哪了?我在字段名上加上[]也还是不行!
OleDbCommand myCmd = new OleDbCommand(str,Utility.Connection);
myCmd.Parameters.Add(new OleDbParameter("@member_password",OleDbType.Char,32));
myCmd.Parameters["@member_password"].Value=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(member_password.Text.Trim(),"MD5");
myCmd.Parameters.Add(new OleDbParameter("@memo",OleDbType.VarWChar));
myCmd.Parameters["@memo"].Value=DDL1.SelectedValue.ToString().Trim();
myCmd.Parameters.Add(new OleDbParameter("@security_level_id",OleDbType.UnsignedTinyInt));
myCmd.Parameters["@security_level_id"].Value=DDL1.SelectedIndex;
--------------------------------------------------------------------------------
提示错误:
-----------------------------------------------------------------------------
异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。
OleDbException (0x80040e14): UPDATE 语句的语法错误。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
ArticleBBS.Edit_Member.up_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\articlebbs\edit_member.aspx.cs:130
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
----------------------------------------------------------------------------------------
我用的是ACCESS,没怎么用过,请问SQL语句错哪了?我在字段名上加上[]也还是不行!
update members set member_password='jj',security_level_id='jhh',memo='jj' where member_id="ll"是没有错的
string str="update members set [member_password]='"+System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(member_password.Text.Trim(),"MD5")+"',[answe]r='"+answer.Text.Trim()+"',[security_level_id]='"+DDL1.SelectedIndex+"',[memo]='"+DDL1.SelectedValue.ToString().Trim()+"' where member_id='"+Utility.GetParam("id")+"'";
和这样
string str="update members set [member_password]="+System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(member_password.Text.Trim(),"MD5")+",[answe]r="+answer.Text.Trim()+",[security_level_id]="+DDL1.SelectedIndex+",[memo]="+DDL1.SelectedValue.ToString().Trim()+" where member_id="+Utility.GetParam("id");
都是错的!还是提示UPDATE语法错误!数据库设置是:
member_id=自动编号
member_password=文本
answe=文本
security_level_id=数字
memo=文本
string str="update [members] set [member_password]='"+System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(member_password.Text.Trim(),"MD5")+"',[answer]='"+answer.Text.Trim()+"',[security_level_id]="+DDL1.SelectedIndex+",[memo]='"+DDL1.SelectedValue.ToString().Trim()+"' where member_id="+Utility.GetParam("id");
string str="update members set member_password=@member_password,security_level_id=@security_level_id,[memo]=@memo where member_id="+Utility.GetParam("id");
----------------------------------------------这样早试过了!
----------------------------可以了,谢谢!
已经解决啦!原来第一个是memo应该加[],然后呢长整型数据要用UnsignedInt而不能用UnsignedTinyInt
谢谢各位啦!