数据提交到数据库前判断A表工号是否在B表中,如果在,那么所关联的DBEDIT自动弹出数字65,如果不在就为0,(DELPHI+SQL),三层结构.条件不知道怎么写代码,请高手指点:
 if ... then
      DBEdit9.Text:='0'
  else
      DBedit9.Text:='65'
end;

解决方案 »

  1.   

    SELECTG 工号 FROM A WHERE A a IN (SELECT 工号 FROM B b WHERE a.工号 = b.工号)
    提供个思路,不知道对否
      

  2.   

    这个只是SQL语句,我会,但是光这样的条件在DELPHI中是无法执行的!!
      

  3.   

    你采用三层结构同样也是数据集的处理问题,你用ClientDataSet和应用服务器上的DataSetProvider进行连接,你可以在用ClientDataSet动态执行一条SQL语句进行判断,也可以将这个写到应用服务器上通过接口进行调用,不过接口调用相对复杂
      

  4.   

    if ADOQuery1.RecordCount>0 then
      

  5.   

    没法直接用一个判断写出来,除非你这个判断引用一个函数,这个函数可以调用一个存储过程或用select top 1 isnull(field1,0) as id from t1 where field2 in (select field2 from t2)
    order by field1
    看最后返回的记录是0还是其他值,FIELD1为数字类型