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;大概的你可以模仿一下的。
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;大概的你可以模仿一下的。
你取出一个数据集的所有字段:
然后根据所选的字段写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+'''';
设置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;
编写了。可以在form上放一个按钮,在按钮的onclick事件中添加如上的代码就可以了。(代码要修改的,其中:stufrom是用来传递edit的内容的,可以用你喜欢的名称代替。但是,冒号不能少的。)dbcombox用一个datasource与你连接的表相联系,然后可以在datafield属性中选择你要的自段了。其他的代码可以参考上面的。
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;
设置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;