在vb6。0中用dao连接sqlserver数据库,执行update语句时无效。eg update Tbl1 set Name_ID =2 from Tbl1,Tbl2 where Tbl1.ID=Tbl2.ID 在vb中执行这个语句时出现错误,但是直接在查询分析器中执行没有问题,请各位帮忙解决。

解决方案 »

  1.   

    eg是什么?
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070127http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    是用execute方法更新的吗?dim cn as adodb.connection
    dim sql as stringcn.open ".........."
    sql="update Tbl1 set Name_ID =2 from Tbl1,Tbl2 where Tbl1.ID=Tbl2.ID"
    cn.execute sql
      

  3.   

    sorry 上面应该是:dim cn as new adodb.connection
      

  4.   

    用ado连接数据库没有问题。我要用dao连接的就有问题。
    dim DataBase_Name As Database
    Set DataBase_Name = OpenDatabase("", False, False, "odbc;driver=SQL Server;server=lm;wsid='sa';pwd='1';database=db")DataBase_Name.Execute  "update Tbl1 set Name_ID =2 from Tbl1,Tbl2 where Tbl1.ID=Tbl2.ID" 提示操作符丢失在"2 from Tbl1,Tbl2 where Tbl1.ID=Tbl2.ID"中.
      

  5.   

    dao没用过,不是清楚
    不过,Database对象可以用execute方法吗?dao好象应该用查询对象来执行SQL语句吧?
      

  6.   

    可以的,执行一个表的更新没有问题(如:DataBase_Name.Execute  "update Tbl1 set Name_ID =2 where Tbl1.ID=2"),只是多个表就出现问题了。
      

  7.   

    哦,dao没学过
    那你为什么不用ado呢?