首先设置temp_questionListeningShortPassage中的主键
然后试试:
Dim ds As DataSet = New DataSet() 
Dim objCommandBuilder As SqlCommandBuilder = new SqlCommandBuilder(da)
da.fill(ds,"varTable")
da.update(ds,"varTable")
da.acceptChange

解决方案 »

  1.   

    objCommandBuilder 需要表得主鍵
      

  2.   

    我的表是在sql server 中的,可是我设了主键了啊,字段:id  数据类型:int 标识:是。
      

  3.   

    需要在创建sqlCommandBuilder以后再绑定一次DataAdapter吗?我先试试
      

  4.   

    还是不行,系统老是提示:对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。我的表是设了主键了啊。
      

  5.   

    Dim objCommandBuilder As SqlCommandBuilder = new SqlCommandBuilder(da)
    da.UpdateCommand=objCommandBuilder.GetUpdateCommand();
    da.update(ds,"varTable")
      

  6.   

    对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。我的sql语句是 select * from temp_questionListeningShortPassage应该没有问题啊。
      

  7.   

    这里的主键指的是datatable里面的主键,而不是数据库里面设置的主键。
    也就说你要修改你的数据库里面的内容。
    要给定类似如下语句中的where后面的东西update mytable where myname='king_astar'
      

  8.   

    http://www.csdn.net/develop/read_article.asp?id=21701
      

  9.   

    string astr="aa";
    // 假设有ds.tables["tab1"]
    int i;
    for(i=0;i<ds.tables["tab1"].rows.count,i++)
    {
       ds.tables["tab1"].row[i][0]=astr;
    }
    //可以把ds.tables["tab"]的每一行的第一列都改为astr的值