看错误信息根本就看不出来的,不过基本可以确认是你的sql语句错误

解决方案 »

  1.   

    你的adoobject是不是放在datamodule中,如果datamodule比窗体后创建,而你在窗体中有做处理的话,就是这样的错误。
    情况说详细一些。
      

  2.   

    sql语句肯定没问题,在sqlserver中执行通过,我的两个程序都出现这个问题,怀疑和delphi有关
    to everything:
    我看一下程序
      

  3.   

    可能是你连接数据库所选的OLE Engine不对,你选Provider=Microsoft.Jet.OLEDB.4.0
    试一下看看.
      

  4.   

    to zzy73:
    程序就要收尾,现在换个方法,我苦啊!
    to abedon:
    这个模块有近1000行,你想看吗?
      

  5.   

    因该是创建与关闭的问题。
    你有没有动态创建然后释放一些组件或窗体。
    因为Form没有释放完全又引用时报的错与你遇到有极相似。
      

  6.   

    我调试过错误就出在ADOQuery的open那句,而且sql.text搬到sqlserver里执行一点没问题
    'Exception EAccessViolation' 是个什么东西啊?
      

  7.   

    你的adoobject要是放在datamodule中,一定要确保datamodule最先被创建.也就是程序一运行就创建.
      

  8.   

    Exception EAccessViolation in module 111.exe at 0092ECB4.Access violation at address 0092FCB4. Read of addres FFFFFFFF这个肯定是指针问题,可能引用了未创建的控件。
      

  9.   

    这个错误,是非法访问内存错误,
    Almzg_0(金宝)说得有点道理,可能是指针问题,你检查一下,有没有动态生成的组件,用完之后有没有释放.对了,你的数据模块是什么时候创建的,建议在刚开始运行时就创建.
      

  10.   

    是由于OLE错误,你在Project的主窗体中随便添家一个ADO组件,比如ADOConnection即可,重新编译,运行就不会有问题了。随后,去掉添加的ADO组件,重新编译即可
      

  11.   

    to Almzg_0 and geliang
    并没有动态生成的组件
    我得试试lixm332的方法,不行就真的要重写了
      

  12.   

    你把open之前的语句贴出来看看
      

  13.   

    大家请看
              with GS_showrecord_form.ADOQuery1 do begin
                close;
                if Trim(CBBoxchaxunziduan.text)= '董事会成员' then
                  sql.add(' and qiyebianhao in (select qiyebianhao from     dongshihui where chengyuanmingcheng like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '监事会成员' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_jianshihui where chengyuanmingcheng like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '经营范围' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_jingyingfanwei where fanwei like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '审批证书' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_jingyingfanwei where zhengshu like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '变更时间' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from  gsdj_biangeng where (biangengshijian like ''%'+Trim(CBBoxchaxuntiaojian.Text)+'%'') or (biangengshijian='''+Trim(CBBoxchaxuntiaojian.Text)+'''))')
                else if Trim(CBBoxchaxunziduan.text)= '变更内容' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_biangeng where biangengneirong like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '审批文件' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_biangeng where shenpiwenjian like ''%'+Trim(CBBoxchaxuntiaojian.Text)+'%'')')
                else if Trim(CBBoxchaxunziduan.text)= '注销时间' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_zhuxiaodengji where (zhuxiaoshijian like ''%'+Trim(CBBoxchaxuntiaojian.Text)+'%'') or (zhuxiaoshijian='''+Trim(CBBoxchaxuntiaojian.Text)+'''))')
                else if Trim(CBBoxchaxunziduan.text)= '注销方式' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_zhuxiaodengji where zhuxiaofangshi like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.text)= '债务承担' then
                        sql.add(' and qiyebianhao in (select qiyebianhao from gsdj_zhuxiaodengji where zhaiwuchengdan like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'')'))
                else if Trim(CBBoxchaxunziduan.Text)= '操作员' then
                        sql.add(' and caozuoyuan=(Select id from QX_renyuan where mingcheng='''+Trim(CBBoxchaxuntiaojian.Text)+''')')
                else if Trim(CBBoxchaxunziduan.TExt)= '出资单位' then
                        sql.add(' and  qiyebianhao in (select distinct qiyebianhao from gsdj_zijin where chuzidanwei like ''%'+Trim(CBBoxchaxuntiaojian.Text)+'%'')')
                else sql.add(' and '+FindFieldName(Trim(CBBoxchaxunziduan.Text))+' like ''%'+Trim(CBBoxchaxuntiaojian.Text+'%'''));
                open;
              end;
      

  14.   

    ADOQuery1里面有 
    select * from gsdj_jiben where 1=1 
      

  15.   

    可能是数据集的事件有问题,不是sql错了。
    你新放一个adoquery,不给它加任何事件,再打开试试(要写sql语句);
      

  16.   

    同志们:写log,将程序要提交的SQL语句写再log里,将log中记载的语句在SQL服务器中运行,多简单,这样看,  :(:(:(:(:(:(:(:(:(:(:(:(:(:(  我是不会看的
      

  17.   

    我终于发现:
    问题好像出现在一个lookup字段上!我将它删掉好像就没有问题,据说lookup字段有时候就是不好用?????