我用的是command,修改语句的影响行数不等于1一般会是什么问题呢?代码如下:OleDbCommand updatecmd= new OleDbCommand(updateSQL,oleCon);
updatecmd.Parameters.Add("@username",OleDbType.Char,20);
updatecmd.Parameters.Add("@Newpassword",OleDbType.Char,30);
updatecmd.Prepare();
updatecmd.Parameters["@username"].Value = this.usertext.Text.Trim();
updatecmd.Parameters["@Newpassword"].Value=this.newtext.Text.Trim();
if(updatecmd.ExecuteNonQuery() == 1)
    MessageBox.Show("修改成功");
else
    MessageBox.Show("修改失败");
结果是修改失败,我仔细检查过了,参数传递没有问题啊!!
哪个高手知道啊

解决方案 »

  1.   

    你加上try()catch(Exception ex)看看能不能发现是什么错误
      

  2.   

    呵呵,这是因为Access不支持参数查询,这些查询只能用在SQL中.改用传统的字符串拼接方式写sql语句吧.
      

  3.   

    Access 支持匿名参数查询,也就是说参数名称起什么都一样,它是根据参数的次序来标识不同参数的
      

  4.   

    先用最简单的语句调试一下先,在。NET里Access 不是很方便操作的。和SQLSERVER有一些差别的