//修改密码
string strConn = " provider=Microsoft.Jet.OLEDB.4.0;Data Source=hotel.mdb" ; 
OleDbConnection  myConn = new OleDbConnection (strConn) ; 
string str1=" SELECT * FROM user where UserNam='"+textBox4.Text+"'";;
DataSet ds=new DataSet();
myConn.Open();
OleDbDataAdapter da=new OleDbDataAdapter(str1,myConn);
da.Fill(ds,"user");
if((ds.Tables["user"].Rows[0]["UserNam"].ToString()==textBox4.Text.Trim())&&(ds.Tables["user"].Rows[0]["UserID"].ToString()==textBox1.Text.Trim()))
{
if((textBox2.Text.Trim()!="")&&(textBox3.Text.Trim()!=""))
{ if(textBox2.Text.Trim()==textBox3.Text.Trim())
{
string str2="update user set UserID='"+textBox2.Text.Trim()+"' where UserNam='"+textBox4.Text.Trim()+"'";
OleDbCommand com=new OleDbCommand(str2,myConn);
com.ExecuteNonQuery();
MessageBox.Show("密码修改成功!");
}
else
{MessageBox.Show("两次输入密码不一致");}
}
else
{MessageBox.Show("新密码不能为空");}
}
else
{MessageBox.Show("用户名和密码不一致");}
myConn.Close();调试错误:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
谢谢各位

解决方案 »

  1.   

    string strConn = " provider=Microsoft.Jet.OLEDB.4.0;Data Source="+This.Server.MapPath("hotel.mdb")+"" ;
      

  2.   

    string strConn = "@provider=Microsoft.Jet.OLEDB.4.0;Data Source=根目录/hotel.mdb" ;
    试试吧,路径一定要是绝对路径。
      

  3.   

    我刚才试了,还是不行,提示问题是在行:da.Fill(ds,"user");
    在帮帮忙吧,谢谢了!
      

  4.   

    //user是关键字,加[];还有UserName是不是少些了个e?
    string str1=" SELECT * FROM [user] where UserName='"+ textBox4.Text + "'";
      

  5.   

    string str1=" SELECT * FROM [user] where UserNam='"+textBox4.Text+"'";string str2="update [user] set UserID='"+textBox2.Text.Trim()+"' where UserNam='"+textBox4.Text.Trim()+"'";
      

  6.   

    谢谢各位好心人,的确和你们说的一样,出错就出在user是关键上,谢谢了!!!!!