我使用一个ADOConnection连接两个不同的ADOQuery,一个负责执行SQL更新(ADOQuery_SQL),一个负责执行文件更新ADOQuery_file(主要是通过Select top 1 from 表,然后Edit、Post)。现在先执行ADOQuery_SQL更新后,再使用ADOQuery_file执行文件更新,Post的时候就会报错,如下所示:
=================================================
执行出错
错误信息:'wsconfig' 附近有语法错误。
发生错误的语句:
SET ANSI_NULLS ON
=================================================
但是在我的ADOQuery_file中根本就没写过SQL语句呀,为什么会报错呢?

解决方案 »

  1.   

    是不是在edit的时候字符串里加入了SQL保留字,比如单引号一类的,更新的时候就会出错
      

  2.   

    ADOQuery_file文件更新的时候不需要写SQL语句,而且把ParamCheck也设置成False了,还是一样的错误
      

  3.   

    你debug的时候设置断点,看看那里出错,还有打开sql事件察看器,看看到底运行了什么代码
      

  4.   

    我用的是SQLServer2005Express版,好像没有SQL事件查看器,debug显示执行ADOQuery_file.post时报错,错误信息见顶端
      

  5.   

    常见数据恢复问题集锦 :http://www.japee.com.cn/jew/pages/JPF2023_Index.aspx?SERIAL_ID=D76032C4522C2792&id=4DFB523246037B53
      

  6.   

    showmessage 看看sql.text里面的内容
      

  7.   

    是不是你 ADOQuery_file更新的是视图阿?
      

  8.   

    用两个AdoConnection 试下.是不是发生冲突了.
      

  9.   

    Select top 1 from 表
    不要select *
    只选择需要更新的字段
    另外,要判断返回的记录集是否是空(没记录)