利用adapter.Update(dataSet) 来更新数据库,
(其中adapter 有装入命令容器CommandBuilder中:OleDbCommandBuilder cmdbd = new OleDbCommandBuilder(adapter)),
可是,提示“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”
何解?谢谢!

解决方案 »

  1.   

    看一下adapter。SelectCommand
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    看过adapter。SelectCommand
    与我new Adapter("SelectSQL语句", conn)中的SelectSQL语句一样。
      

  3.   

    "select col1, col2, col3 from TableName";
    "select * from TableName";
    都试过了,不行,还是老错误。
      

  4.   

    设断点看一下dataset里的值是否正确
      

  5.   

    你数据库中的表是不是没有设置主键啊...如果表没有主键的话,用CommandBuilder是有问题的...加上主键试试..
      

  6.   

    To: liujia_0421()
    我加上了主键,可老问题还是出现!
      

  7.   

    while (DateTime < Convert.ToDateTime("2008-1-1"))
    {    
        if (you.HelpMe())
        {
            wonderful_abc.Thanks();
            break;
        }
        else
        {
            wonderful_abc.Wait(); 
        }
    }
      

  8.   

    DataAdapter.Update(dataSet,"数据库表名")
    SQL语句 请用大写 看看 "SELECT * FROM XX "
      

  9.   

    while (DateTime < Convert.ToDateTime("2008-1-1"))
    {    
        if (you.HelpMe())
        {
            wonderful_abc.Thanks();
            break;
        }
        else
        {
            wonderful_abc.Insane(); 
        }
    }
      

  10.   

    TO:可是,提示“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”
    如果是这个异常的话,那原因最大可能就是数据库中的表没有主键造成的...另外,CommandBuider也不支持对多表的操作,只能针对一个表...
      

  11.   

    da.FillSchema(ds, SchemaType.Mapped, "TableName");
      

  12.   

    To:liujia_0421(SnowLover)
    如果是这个异常的话,那原因最大可能就是数据库中的表没有主键造成的...另外,CommandBuider也不支持对多表的操作,只能针对一个表...有主键,并且CommandBuider中只有一个表,还是不行....
      

  13.   

    那就怪了..最开始用CommandBuider时也遇到过这种情况,后来很多网友也磁到过,基本都是这么解决的...