with query1 do
begin
Databasename:='luliang';
close;
Sql.Clear;sql.Add('select 姓名,身份证 from kehe');
sql.add('where 身份证 not in ');
sql.add('(select 住客身份证号 from fangjianhekehu)');
EXEcSQL;active:=true;
end

解决方案 »

  1.   

    建议先将SQL语句放在数据库中去执行,看有没有错。
      

  2.   

    with query1 do
    begin
    close;
    Databasename:='luliang';
    close;
    Sql.Clear;sql.Add('select 姓名,身份证 from kehe');
    sql.add('where 身份证 not in ');
    sql.add('(select 住客身份证号 from fangjianhekehu)');
    EXEcSQL;active:=true;
    end
    是什么错误?
      

  3.   

    建议先将SQL语句放到数据库中去执行,看是否有错。
    再判断是不是程序的错误!
      

  4.   

    with query1 do
    begin
    close;
    Databasename:='luliang';
    close;
    Sql.Clear;sql.Add('select 姓名,身份证 from kehe');
    sql.add('where 身份证 not in ');
    sql.add('(select 住客身份证号 from fangjianhekehu)');
    open;//其它的不用了;
    end
      

  5.   

    我把这段代码放到一个新的工程中的话,就没有错误,可能我在原来工程中多次调用了这段代码,老是出现访问了fffff地址的错误!!!
    请您帮忙
      

  6.   

    说exe访问了不该访问的地址.
    是不是你的Query坏了,重新换一个。
    还有数据库连接成功没有。
    BDE连接成功没有。
      

  7.   

    这段代码放到新的exe中可以用啊!
      

  8.   

    query换一下;
    看一看是不是有别的冲突
      

  9.   

    重新放置一个query,看看有没有问题。