adoquery1.SQL.add('select czy_dmid , czy_kl from xs_czy where czy_dmid='+ combobox1.Text +'and czy_kl ='+ edit1.Text );
我想法是用SQL语句来判断和COMBOBOX和EDIT与表里字段的值相匹配。
请问有其他什么办法,请快点告诉我
急~~~~~~~~
我想法是用SQL语句来判断和COMBOBOX和EDIT与表里字段的值相匹配。
请问有其他什么办法,请快点告诉我
急~~~~~~~~
我看是
SQLScript:=Format('Select * from PresentTable where %s = "%s"', [combobox1.Text, Edit1.Text]);
adoquery1.SQL.parambyname('value1').value:=combobox1.Text;
adoquery1.SQL.parambyname('value2').value:=edit1.Text ;
function ChangeStarChar(sourStr : string): string ;
var
i : integer;
begin
sourStr:=StringReplace(sourStr,'_','[_]',[rfReplaceAll]);
sourStr:=StringReplace(sourStr,'"','""',[rfReplaceAll]);
sourStr:=StringReplace(sourStr,'''','',[rfReplaceAll]);
while pos('*',sourStr)>0 do
sourStr[pos('*',sourStr)]:='%' ;
result:=sourStr;
end;
当使用SQL语句前,做好一些准备工作
var
str1, str2: string;
begin
str1 := ChangeStarChar(combobox1.Text);
str2 := ChangeStarChar(edit1.Text);
........
adoquery1.SQL.add('select czy_dmid , czy_kl from xs_czy where czy_dmid='''+str1+'''and czy_kl ='''+str2+'''');
.......
end;
我想这应该是你想要的结果吧?
原来可以
adoquery1.sql.clear;
adoquery1.sql.add('select czy_dmid , czy_kl from xs_czy');
adoquery1.sql.add('where czy_dmid="'+ combobox1.Text +'"'+'and czy_kl ="'+ edit1.Text+'"' );
我后来想到在SQL里边'和"好像是一个意思。
adoquery1.sql.add(Format('Select * from PresentTable where %s = "%s"', [combobox1.Text, Edit1.Text]));
sql.add('select * from ****.db where field1='''+edit1.text+'''');
sql.add('and field2='''+combobox1.text+'''');
....
open;
這樣子好看又比較不會出錯.