var
  strsql:string;
  temp:string;  temp:=edt1.text;
  strsql:='select * from 人事档案 where 部门='+''南京分公司\\''+temp'; 
  qry1.close;
  qry1.sql.clear;
  qry1.sql.add(strsql);
  qry1.open;我的意思是执行一条sql 语句:
     select * from 人事档案 where 部门='南京分公司\\temp'    
老是报错,估计是逗号问题,怎么办?

解决方案 »

  1.   

    strsql:='select * from 人事档案 where 部门='+''南京分公司\\''+temp';不报错就希奇了你这 南京分公司\\ 和 temp 都是什么??
      

  2.   

    给你写好!
    var
      strsql:string;
      temp:string;
    begin
      temp:=edt1.text;
      strsql:='select * from 人事档案 where 部门=%s\\%s'; 
      
      qry1.close;
      qry1.sql.text:=format(strsql,['南京分公司',temp]);
      qry1.open;
    end;
    搞定!
      

  3.   

    这样写即使正确也容易把人搞糊涂:
    strsql := 'select * from 人事档案 where 部门='+''南京分公司\\''+temp'; 
    我喜欢下面的写法:
    strsql := 'select * from 人事档案 where 部门=' + #39 + '南京分公司\\' + temp + #39; 
      

  4.   

    strsql:='select * from 人事档案 where 部门='+'''南京分公司\\temp''';