var str: str:=+var1+; select * from cmd where str=var2
关键看你最后拼成什么样的sql语句传递给数据库的。
可以。 在Delphi里面可以这么写: adoquery1.sql.text:=Format('select * from cmd where %s=''%s''',[val1,val2]); adoquery1.open;
adoquery1.sql.text:=Format('select * from cmd where '''+val1+'''='''+val2+''');
procedure TForm2.Button4Click(Sender: TObject); var t:string;//T为字段变量,即按什么字段来查询 begin case ComboBox2.ItemIndex of 0:t:='khdm'; 1:t:='khxm'; 2:t:='lxfs'; 3:t:='dwdz'; 4:t:='cpx'; 5:t:='zjbh'; 6:t:='jxpz'; 7:t:='bz' end;//end case with dm.ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from khxxtb where '+t+' like ''%'+Trim(edit7.Text)+'%'''); Open; end;//end with end; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
str:
str:=+var1+;
select * from cmd where str=var2
在Delphi里面可以这么写:
adoquery1.sql.text:=Format('select * from cmd where %s=''%s''',[val1,val2]);
adoquery1.open;
var
t:string;//T为字段变量,即按什么字段来查询
begin
case ComboBox2.ItemIndex of
0:t:='khdm';
1:t:='khxm';
2:t:='lxfs';
3:t:='dwdz';
4:t:='cpx';
5:t:='zjbh';
6:t:='jxpz';
7:t:='bz'
end;//end case
with dm.ADOQuery1 do begin
Close;
sql.Clear;
sql.Add('select * from khxxtb where '+t+' like ''%'+Trim(edit7.Text)+'%''');
Open;
end;//end with
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~