我用c#做asp.net网页,想在access里面插入数据,但是就是不行,数据库和表名都是store,见下面string strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./data/store.mdb";
         OleDbConnection myConn=new OleDbConnection(strCon);
         string strCom="insert into store(kind,name)values('"+tb1.Text+"','"+tb2.Text+"') where id='"+tb3.Text+"'";
         myConn.Open();
         OleDbCommand inst=new OleDbCommand(strCom,myConn);
        inst.ExecuteNonQuery();
         myConn.Close();

解决方案 »

  1.   

    你跟踪一下,他是不是报“Access deny”的错误?权限不足?
    我碰到过这种问题,找到你的store.mdb文件,在他的属性--〉安全里面把everyone的用户选中,给他分配所有权限。
      

  2.   

    SQL 语句的结束位置缺少分号 (;)。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: SQL 语句的结束位置缺少分号 (;)。
      

  3.   

    insert into store(kind,name)values('"+tb1.Text+"','"+tb2.Text+"') where id='"+tb3.Text+"'";
    INSERT INTO 語句有用  WHERE 的嗎????insert into store(kind,name)values('"+tb1.Text+"','"+tb2.Text+"')
      

  4.   

    大侠,谢谢,还有个小问题就可以给你分了
    我表里有number字段,但是我想在update的时候实现用number的数字减去输入的数字,怎么办啊???
      

  5.   

    update store set [number]=[number]-??? where [id]=???
      

  6.   

    private void bt_in(object sender,EventArgs e)
             {
             string strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./data/store.mdb";
             OleDbConnection myConn=new OleDbConnection(strCon);
             string strCom="insert into store(id,kind,name,type,number,storer) values('"+tbidin.Text+"','"+tbkindin.Text+"','"+tbnamein.Text+"','"+tbtypein.Text+"','"+tbnumberin.Text+"','"+tbstorerin.Text+"') ";
             myConn.Open();
             OleDbCommand inst=new OleDbCommand(strCom,myConn);
             inst.ExecuteNonQuery();
             myConn.Close();
                            }
    还是有问题,帮帮哈!