注册 登录
编程论坛 Delphi论坛

组合查询的问题,会的请进,急!!!!!!

随云 发布于 2008-04-13 20:06, 869 次点击
在进行查询时员工代号和所属部门号都能正确查询,但就员工姓名不能,在数据库中员工代号,员工姓名与所属部门号都为char型,请问下面代码该如何改?
 sql:= 'select * from 职工表 where 0=0';
    str:= '';
   if trim(edid.Text) <> '' then
     str := str + ' and 员工代号=' + trim(edid.Text);
   if edname.Text <> '' then
     str := str + ' and 员工姓名=' + trim(edname.text);
   if trim(cbxdept.Text) <> '' then
     str := str + ' and 所属部门号=' + trim(cbxdept.Text);
   if str <> '' then
     sql := sql + str;
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(sql);
    adoquery1.Open;
1 回复
#2
provoke2008-04-14 13:17
char 类型……少了单引号
adoquery1.SQL.Add(sql);
    showmessage(sql);              //这样你就知道问题出在哪里了
    adoquery1.Open;

//=============================
至于你所说的“员工代号和所属部门号都能正确查询”,想必是因为目前这两个字段都是纯数字的“号”,如果类似这样的,未必“都能正确查询”:
bjs--办公室
cwb--财务部
hcc--后勤处
abc123--……
等等……
1