初学者,提问!(50分)

  • 主题发起人 主题发起人 jackyy
  • 开始时间 开始时间
J

jackyy

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样在DBGrid中显示数据库中满足给定条件的记录?
 
这种情况最好用query.sql 来解决,
用table也可以,但不能动态进行设置,
用query非常灵活,
如:
query1.close;
query1.clear;
query1.sql.add('select * from .. where 字段名=字段名');
query1.parameter('字段名').asstring:=combobox1.text;
query1.execsql;
具体使用时把字段名换成字母字段名即可!


 
datasource1.dataset := query1

dbgrid.datasource := datasource1

运行query1,这样dbgrid中显示的就是query1中指定条件的记录,条件在query1中写
 
DBGrid是数据的表现,所以要现示满足条件的记录,应在数据集中进行过滤等操作:
比如条件为字段 name
过滤: query1.filter:='name='''+edit1.text+''';
query1.filtered:=true;
或重构sql:query1.close;
query1.sql.clear;
sql:='select * from 表名 where name='''+edit1.text+'''';
query1.sql.add(sql);
try
query1.open;
except
messagebox();
end;
当然你也可以在预先的定义过的参数赋值。
 
可以写table的filter。
 
后退
顶部