数据库不能更新问题
小弟在做一个信息系统,但是数据库不能更新各位大哥帮个忙呀看看以下的代码:
string user_pass=FormsAuthentication.HashPasswordForStoringInConfigFile(m_user_pass.Text,"MD5");
string Olestring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\AutoSender\\sms.mdb;";
conn=new OleDbConnection(Olestring);
//string mysqltext="update Staffer set pass=@user_pass,SName=@username where id=@userID";
OleDbCommand SCommand=new OleDbCommand("update Staffer set pass=@user_pass,SName=@username where id=@userID",conn);
SCommand.Parameters.Add("@userID",OleDbType.VarChar,10);
SCommand.Parameters["@userID"].Value=m_userid;
SCommand.Parameters.Add("@user_pass",OleDbType.VarChar,50);
SCommand.Parameters["@user_pass"].Value=user_pass;
SCommand.Parameters.Add("@username",OleDbType.VarChar,10);
SCommand.Parameters["@username"].Value=m_user_name.Text;
SCommand.Connection.Open();
//conn.Open();
try
{
SCommand.ExecuteNonQuery();
Response.Write("<Script language='javascript'>alert('数据修改成功!');</script>");
//Response.Write("");
Response.Redirect("ViewStaffer.aspx");
}
catch(OleDbException)
{
Response.Write("<Script language='javascript'>alert('数据修改失败!');</script>");
}
SCommand.Connection.Close();
可以看到数据修改成功这样的对话框,但是数据并没有修改,请各位大哥帮忙。
问题点数:100、回复次数:6Top
1 楼gsxzm(肖明)回复于 2005-04-12 15:19:12 得分 40
try
{
SCommand.ExecuteNonQuery();
Response.Write("<Script language='javascript'>alert('数据修改成功!');</script>");
//Response.Write("");
//Response.Redirect("ViewStaffer.aspx");//把这个注释掉试试;
}
catch(OleDbException ex)//这里加一个ex试试
{
Response.Write("<Script language='javascript'>alert('数据修改失败!');</script>");
}
finally
{
SCommand.Connection.Close();
}
Top
2 楼beckhans(贝克汉鸭)回复于 2005-04-12 15:33:00 得分 30
看你的语句应该没有问题
你可以打开SQL的事件察看器跟踪以下生成的语句。然后不这条语句到查询分析器执行一下Top
3 楼qiuji(忆秋季)回复于 2005-04-12 15:41:48 得分 0
看看你的Page_Load代码是否正确:
if(!IsPostBack)
{
//绑定数据
}Top
4 楼wu896222(WYF)回复于 2005-04-12 15:43:03 得分 30
没报错,又没更新到记录.应该是你传递的参数m_userid的值是表内不存在的,所以update没更新到记录.设断点,追踪一下传递的参数值即可.Top
5 楼shoucao(瘦草)回复于 2005-04-12 16:02:47 得分 0
以上各位大哥的方法我都试了,但是还是不行,因为我的机器没法调 试,所以没法追踪。Top
6 楼zhzuo(秋枫)回复于 2005-04-12 17:00:59 得分 0
把参数输出到aspx页面,
然后到Access查询分析窗口里执行一下试试,看看结果.
Top




