1.在DM里已添加了adoconnection连接到数据库 2.ADOQUERY1连接到adoconnection 3.编写adoquery的sql string 如:adoquery1.sql.add('select * from tablename where fieldname='''+trim(edit1.text)+'''');
Q_User.sql.text :='Select * From Operator Where ID=:UID and Pwd=:UPwd'; Q_User.Parameters.ParamByName('UID').Value :=UserID; Q_User.Parameters.ParamByName('UPwd').Value :=Password; Q_User.Open;
select * from tablename where fieldname1=:text1 and fieldname2=:text2 and field3name3=:text3; adoquery1.parameters.parabyname('text1').value:=trim(edit1.text); adoquery1.parameters.parabyname('text2').value:=trim(edit2.text); adoquery1.parameters.parabyname('text3').value:=trim(edit3.text);
s_sql:='select * from yourTable where yourFieldName='''+trim(edit1.text)+''''+... //edit2,eidt3同理加上去 with DM.adoquery1 do begin close; sql.add(s_sql); open; end;
在查询按钮的Click事件中编写: AdoQuery1.sql.Add('select * from TableName where FieldName1 ='); AdoQuery1.sql.Add(quotedstr(Edit1.Text)); AdoQuery1.sql.Add('And FieldName2 ='); AdoQuery1.sql.Add(quotedstr(Edit2.Text)); 第三个同理,不写了, 最后 AdoQuery1.open;
S_SQL是加在ADOQUERY的SQL中 即ADOQUERY.SQL.ADD(S_SQL)即可
完整的写法是 procedure TFDemo.Button2Click(Sender: TObject); begin with adoquery1 do begin try close; sql.Clear; sql.Add(S_SQL); open; except showmessge('不能执行查询:'+S_SQL); end; end; end; 其中S_SQL为以上兄弟说的SQL语句:)
S_SQL具体为: select * from tablename where fieldname1=:text1 and fieldname2=:text2 and field3name3=:text3; adoquery1.parameters.parabyname('text1').value:=trim(edit1.text); adoquery1.parameters.parabyname('text2').value:=trim(edit2.text); adoquery1.parameters.parabyname('text3').value:=trim(edit3.text);
AdoQuery1.sql.Add('select * from TableName where FieldName1 ='); AdoQuery1.sql.Add(quotedstr(Edit1.Text)); AdoQuery1.sql.Add('And FieldName2 ='); AdoQuery1.sql.Add(quotedstr(Edit2.Text)); 第三个同理,不写了, 最后 AdoQuery1.open;
如果这三个字段都是字符型的话:AdoQuery1.close; AdoQuery1.sql.clear; AdoQuery1.sql.add('select * from TableName where fld1='+''''+trim(edit1.text)+''''+' and fld2='+''''+trim(edit2.text)+''''+' and fld3='+''''+trim(edit3.text)+''''); AdoQuery1.excsql;
2.ADOQUERY1连接到adoconnection
3.编写adoquery的sql string
如:adoquery1.sql.add('select * from tablename where fieldname='''+trim(edit1.text)+'''');
那BUTTON1的CLICK事件不用写怎么查啊,就是不会写,劳您再说详
细点,好吗?感谢
Q_User.Parameters.ParamByName('UID').Value :=UserID;
Q_User.Parameters.ParamByName('UPwd').Value :=Password;
Q_User.Open;
adoquery1.parameters.parabyname('text1').value:=trim(edit1.text);
adoquery1.parameters.parabyname('text2').value:=trim(edit2.text);
adoquery1.parameters.parabyname('text3').value:=trim(edit3.text);
//edit2,eidt3同理加上去
with DM.adoquery1 do
begin
close;
sql.add(s_sql);
open;
end;
S_SQL是加在在ADOQUERY的STRING SQL里,是吧?
AdoQuery1.sql.Add('select * from TableName where FieldName1 =');
AdoQuery1.sql.Add(quotedstr(Edit1.Text));
AdoQuery1.sql.Add('And FieldName2 =');
AdoQuery1.sql.Add(quotedstr(Edit2.Text));
第三个同理,不写了,
最后
AdoQuery1.open;
即ADOQUERY.SQL.ADD(S_SQL)即可
procedure TFDemo.Button2Click(Sender: TObject);
begin
with adoquery1 do
begin
try
close;
sql.Clear;
sql.Add(S_SQL);
open;
except
showmessge('不能执行查询:'+S_SQL);
end;
end;
end;
其中S_SQL为以上兄弟说的SQL语句:)
select * from tablename where fieldname1=:text1 and fieldname2=:text2 and field3name3=:text3;
adoquery1.parameters.parabyname('text1').value:=trim(edit1.text);
adoquery1.parameters.parabyname('text2').value:=trim(edit2.text);
adoquery1.parameters.parabyname('text3').value:=trim(edit3.text);
AdoQuery1.sql.Add(quotedstr(Edit1.Text));
AdoQuery1.sql.Add('And FieldName2 =');
AdoQuery1.sql.Add(quotedstr(Edit2.Text));
第三个同理,不写了,
最后
AdoQuery1.open;
AdoQuery1.sql.clear;
AdoQuery1.sql.add('select * from TableName where fld1='+''''+trim(edit1.text)+''''+' and fld2='+''''+trim(edit2.text)+''''+' and fld3='+''''+trim(edit3.text)+'''');
AdoQuery1.excsql;
我有一个字段落采用INT型的,请问我该怎么改?不好意思,这么简单的问题,真脸红...
改为INTTOSTR(trim(edit2.text))但还不行,请帮我看看该怎么改呢,谢谢;
你能单不调试一下具体是哪里出错吗
我好帮你看看
因为在我的环境下是可以你
要不你把完成后的SQL语句打出来看看是什么
加句procedure TFDemo.Button2Click(Sender: TObject);
begin
with adoquery1 do
begin
try
close;
sql.Clear;
sql.Add(S_SQL);
showmessage(sql.Text);//此句加上看看SQL语句是什么=====================
open;
except
showmessge('不能执行查询:'+S_SQL);
end;
end;
end;