if RadioButton3.Checked=true and (Edit3.text<>'')then
    begin
      DataModule1.ADOQuery1.Close;
      DataModule1.ADOQuery1.SQL.Clear;
      DataModule1.ADOQuery1.SQL.Add('select * from basis where SFrom=:stufrom');
      DataModule1.ADOQuery1.Parameters.ParamByName('stufrom').value:=Edit3.text;
      DataModule1.ADOQuery1.Open;
    end;大概的你可以模仿一下的。

解决方案 »

  1.   

    我来写:
    你取出一个数据集的所有字段:
    然后根据所选的字段写SQL:
    AdoDataSet1.Fields.GetFieldNames(ComBoBox1.Items);
    然后根据所选的字段:
    AField:=AdoDataSet.FindFied(AName);
    判断AField的数据类型,如果不是字符串类的就可以了
    你总会写SQL;
    'Select * from TagTable where AName='+Edit1.Text;
    如果是字符那么:
    'Select * from TagTable where AName='+''''+Edit1.Text+'''';
      

  2.   

    用一个AdoQuery控件
    设置DataSource的Datset := Adoquery;
    dbgried.datasource := datasource;
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.text := 'select * from where' +  combobox1.items.strings[combobox1.itemindex] + '=' + edit1.text;
    adoquery.execsql;
      

  3.   

    当然,你得放一个daoquery或者query控件用来进行查询的。然后,用datasource控件将dbgrild和query控件联系起来。然后就可以进行查询代码的
    编写了。可以在form上放一个按钮,在按钮的onclick事件中添加如上的代码就可以了。(代码要修改的,其中:stufrom是用来传递edit的内容的,可以用你喜欢的名称代替。但是,冒号不能少的。)dbcombox用一个datasource与你连接的表相联系,然后可以在datafield属性中选择你要的自段了。其他的代码可以参考上面的。
      

  4.   

    VAR
      SSQL: STRING;
    BEGIN
      sSql := 'select * from table1';
      sSql := ' where field1="'+Trim(Edit1.text)+'"';
      ADOQuery1.close;
      ADOQuery1.Sql.clear;
      ADOQuery1.Sql.Add(sSql);
      ADOQuery1.Sql.Open;
    END;
      

  5.   

    你再放置一个Tadoquery控件,
    设置adoquery1的connection:=adoconnection1;
    设置DataSource1的Datset := AdoQuery1;
    设置DBGRID的datasource:=DataSource1;在某个事件(比如Tbutton的OnClick事件)中写
    AdoQuery1.active:=False;
    AdoQuery1.sql.clear;
    AdoQuery1.sql.Add('select * from 表名 where ' +  Combobox1.items.strings[combobox1.itemindex] + '=''' + trim(edit1.text)+'''';
    adoquery1.active:=True;