正确的:
ClientDataSet1.Close ;
ClientDataSet1.CommandText :='select * from wdst_admin.usersong where id=8207';
ClientDataSet1.Open;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('pid').AsInteger:=123;
ClientDataSet1.Post ;
一切正常,修改成功,没有任何的错误!!!错误的:
ClientDataSet1.Close;
ClientDataSet1.CommandText :='UPDATE [wdst_admin.usersong] SET pid=123 WHERE id =8207';
ClientDataSet1.Execute  ;//ClientDataSet1.open;
open和execute的方法全部试过结果都是一样,“对象wdst_admin.usersong无效”
大家帮帮忙看看错在那里呀

解决方案 »

  1.   

    UPDATE [wdst_admin.usersong] SET pid=123 WHERE id =8207为啥要加中括号?去掉试试!
      

  2.   

    你可以在查询分析器里把要用的sql 语句先测试一下
      

  3.   

    'UPDATE [wdst_admin.usersong] SET pid=123 WHERE id =8207'
    这条语句有问题
    和星星球说得那样,去掉中括号。再不行,写成这样:
    'UPDATE usersong SET pid=123 WHERE id =8207'
      

  4.   

    'UPDATE usersong SET pid=123 WHERE id =8207'
      

  5.   

    sql分析器中通过,'UPDATE usersong SET pid=123 WHERE id =8207'这么写也是不行的
      

  6.   

    'UPDATE usersong SET pid=123 WHERE id =8207'
      

  7.   

    修改 ClientDataset1所连接的DatasetProvider的Option属性PoAllowcommandText为True
      

  8.   

    'UPDATE [wdst_admin.usersong] SET pid="123" WHERE id =8207'