da.InsertCommand=myCB.GetInsertCommand();
把Insert语句贴出来

解决方案 »

  1.   

    系统给你报错,说insert into 语句的语法错误。那肯定就是insert语句有些地方写的不对。
      

  2.   

    把insert 语句贴出来看看,应该是他的问题
      

  3.   

    da.Update(ds,"user");
    你有没有对da进行命令初始化啊?没有是插不进去的.
      

  4.   

    OleDbCommandBuilder myCB = new OleDbCommandBuilder(da);
    不是已经根据SELECT 语句自动会生成INSERT,UPDATE,DELETE语句吗?
      

  5.   

    我这是单独的一个表,没有约束。数据库是ACCESS
    大家是怎么解决的呀,能给点原码吗?我查了好多资料都是这么说的呀!
      

  6.   

    在你的表中有主键,也就是自动增加1的那个key.在更新时是不能给它赋值的,你的
    "Select * from ..." 最发换成 " select feild1, feild2... from ...."形式,而且不包括key.
      

  7.   

    我的表中主键是USERID,不是自动增加的,需要赋唯一的值。
    我改成select userid,username,userpwd,usertype from user也不行!
    我奇怪的是用了:
    OleDbCommandBuilder myCB = new OleDbCommandBuilder(da);
    后,怎么OleDbDataAdapter 里没有相应的INSERT COMMNAD,UPDATE COMMAND AND DELETE COMMAND呀??
      

  8.   

    在这一句后面
    OleDbCommandBuilder myCB = new OleDbCommandBuilder(da);
    加上:
    da.TableMappings.Add("Table","user");建立表和DataSet的对应关系,测试一下。
      

  9.   

    如果还不行把语句的位置换一下:
    da.SelectCommand=new OleDbCommand(strsql,db.conn);
    OleDbCommandBuilder myCB = new OleDbCommandBuilder(da);
    da.TableMappings.Add("Table","user");
    da.Fill(ds,"user");另外有一个办法是在Access里面写数据添加的存储过程,直接调用这个存储过程就行了。