with ADOQuery1 do
 begin
   close;
   sql.Clear;
   sql.Add('select * from Communication where 性别=:tt');
   Parameters[0].Value:=edit1.Text;
   open;以上语句中"性别"能不能通过文本给,也就是说根据文本的变化而变化.

解决方案 »

  1.   

    动态给字段?
    with ADOQuery1 do
     begin
       close;
       sql.Clear;
       str:='select * from Communication where'+edit1.text+'=:tt'
       sql.Add(str);
       Parameters[0].Value:=edit1.Text;
       open;
      

  2.   

    动态给字段?
    with ADOQuery1 do
     begin
       close;
       sql.Clear;
       str:='select * from Communication where'+edit2.text+'=:tt'
       sql.Add(str);
       Parameters[0].Value:=edit1.Text;
       open;
    //edit2.text为输入查找字段的。
      

  3.   

    edit2用来输入字段名称,edit1用来替换参数:tt,程序如下:
    with ADOQuery1 do
     begin
       close;
       sql.Clear;
       sql.Add('select * from Communication where '+edit2.Text+'=:tt');
       Parameters[0].Value:=edit1.Text;
       open;
     end;