当前位置:主页>仓库管理软件> 列表

怎样让DBGrid1显示查询结果? 找服装店销售软件

记账软件版1楼: 我用XP+D7+SQL做一个工具,ADOTable1+DataSource1连接数据库,结果显示在DBGrid1里面,窗体上放置了一个EDIT1和一个Button1,在Button1单击事件里写了
ADOTable1.Locate(''Name'',Edit1.Text,[loCaseInsensitive, loPartialKey]);
if not ADOTable1.Locate(''Name'',Edit1.Text,[loCaseInsensitive, loPartialKey]) then
showmessage(''对不起,没有您要查找的记录!'');
来查找数据记录。
问:如何能让DBGrid1只显示符合查找条件的记录而不显示其他记录呢?

2楼: 用Adotable的Filter功能 如免费的记账软件

3楼: 能不能告诉我怎么用呢?谢谢

4楼: ADOTable1.Filter:=''Name=''+QuotedStr(Edit1.Text)

5楼: 还是不行啊

6楼: ADOTable1.Filter:=''Name=''+QuotedStr(Edit1.Text);
ADOTable1.Filtered := True;

记账软件版7楼: 这种情况应该使用 adoQuery, 使用sql 查询, sql 查询很灵活, 同样可以进行模糊查询, 相当于 你现在 使用 locate 配合 loPartialKey 。

8楼: 用Filter就好,很容易的。

9楼: 用select...where...语句啊....挺灵活的....

10楼: 还是习惯用ADOQUERY吧,这个好用的!

11楼: to:qq172
建议多用ADODataSet,
select * from .. where name = :P
传一个参数就可以
既然用SQL server 200为何不用存储过程呢?
如果愿意
可以联系我:QQ:120513682

12楼: 如果数据量大不要用Filter,刷新速度太慢。
要使用ADOQUERY 如服装店销售软件

13楼: 1.ADOTable1.filtered:=false;
ADOTable1.Filter:=''Name=''+QuotedStr(Edit1.Text);
ADOTable1.Filtered := True;
2.用ADOQUERY1来过滤记录
with ADOQuery1 do
begin
close;
sql.clear;
sql.add (select * from where name=:a);
parameters.ParamByName(''a''):=trim(edit1.text);
open;
end;

记账软件版14楼: 直接连接到数据库了之后呢,就连接到source中,在sourece中连接到query1中,然后在query1中的STRING写上你的查询语句,最后呢,把你的query1的active改为true 就可以了!

15楼: 多人接受答案了。