我刚开始初学C#,想在数据库中插入一条新数据,可怎么搞也不行,请各位高手帮忙看一看,能给出正确源码最好,非常感谢!
我用两个文本框name和pass接受输入,并存储.
代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{
string strConn;
string bmnew;
OleDbConnection cn;
OleDbCommand cmd;strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/WebApplication1/da/bm.mdb");
cn=new OleDbConnection(strConn);
bmnew="insert into exam values('"+name.Text+"','"+pass.Text+"')";
cn.Open();
cmd=new OleDbCommand(bmnew,cn);
cmd.ExecuteNonQuery();
Label1.Text="添加成功";
}点击按钮后出现的错误提示信息:"操作必须使用一个可更新的查询。"

解决方案 »

  1.   

    bm.mdb那个文件的属性是只读的吧?:)
      

  2.   

    http://community.csdn.net/Expert/topic/3054/3054501.xml?temp=.4695856
      

  3.   

    "insert into exam(name,pass) values('"+name.Text+"','"+pass.Text+"')"
      

  4.   

    //insert into exam values('"+name.Text+"','"+pass.Text+"')";
    //这种写法表示数据库表中只有两个字段需要输入
    //最好写全insert into exam([Name],[Password]) values('"+name.Text+"','"+pass.Text+"')";
      

  5.   

    好象应该是("../WebApplication1/da/bm.mdb");
    或者("WebApplication1/da/bm.mdb");
      

  6.   


    bmnew="insert into exam values('"+name.Text+"','"+pass.Text+"')";
    改为:
    bmnew="insert into exam(name,pass) values('"+name.Text+"','"+pass.Text+"')";
      

  7.   

    SQL语句中应该注明你要插入的字段名和值insert into exam([LoginName],[Password]) values('"+name.Text+"','"+pass.Text+"')";如果还是不行那就有可能是你没有权限访问数据库文件或者文件为只读属性