delphi7.0里用select从SQLServe2000表中查询记录并返回到listview组件时遇到问题,请帮忙
程序如下:
if combobox1.Text='员工号'      then
  begin
  adoquery1.close;
  adoquery1.SQL.Clear;
  listview1.Clear;
  adoquery1.sql.add('select * from librarian where empid=' +edit1.text ) ;
  adoquery1.Open;
  i:=adoquery1.RecordCount;
  if i=1 then
   begin
     listview1.items.add;
     i:=0;
     listview1.Items[i].Caption:=adoquery1.FieldList.Fields[0].Value;
     listview1.items[i].SubItems.add(adoquery1.FieldList.Fields[1].value);
     listview1.items[i].SubItems.add(adoquery1.FieldList.Fields[2].value);
    end;
  else  showmessage('无此员工号,请核实您的输入是否正确!');
  end;程序运行时出错,请高手指出错误在哪,谢谢

解决方案 »

  1.   

    改一下:
      adoquery1.sql.add('select * from librarian where empid=''' +edit1.text+'''' ) ;
      

  2.   

    给你改改:
    if combobox1.Text='员工号'  then
      begin
      with adoquery1 do
      begin
          close;
          SQL.Clear;
          listview1.Clear;
          sql.add('select * from librarian where empid='''+edit1.text+'''' ) ;
          Open;
          if not isempty then
          begin
             i:=RecordCount;
             if i=1 then
            begin
               listview1.items.add;
               i:=0;
               listview1.Items[i].Caption:=adoquery1.FieldList.Fields[0].Value;
               listview1.items[i].SubItems.add(adoquery1.FieldList.Fields[1].value);
               listview1.items[i].SubItems.add(adoquery1.FieldList.Fields[2].value);
           end;
         end
         else  showmessage('无此员工号,请核实您的输入是否正确!');
      end;
      end;