我是菜鸟:如何在dbgrid中显示查询结果?(100分)

  • 主题发起人 douglasd
  • 开始时间
D

douglasd

Unregistered / Unconfirmed
GUEST, unregistred user!
在maskedit中输入要查询的id,按下button时,在dbgrid中显示所的结果,在query中的sql中输入了
'select *
from student
where id=:id'
params选择了‘datatype=frstring、paramtype=ptinput’
在datasource1选择query1,在dbgrid1中选择datasource1。
botton1click中加入下列代码:
var
id :string;
begin
id:=maskedit1.text;
query1.open;
end;
要怎样才能完成我要实现的功能,谢谢帮助。我是菜鸟,请讲详细点
 
botton1click中加入下列代码:
var id:string
begin
id:=maskedit1.text;
query1.sql.clear;
query1.sql.add('select * form student');
query1.sql.add('where id=:id');
query1.params[0]:=id;
query1.open
end;
 
id:=maskedit1.text;
改成:
query1.ParamByName('id').asstring:=maskedit1.text;

注意数据类型!

 
begin
query1.sql.clear;
query1.sql.add(format(
'select * form student where id=''%s'';',
[maskedit1.text]); /////如果是数值型,改''%s''为%d,改maskedit1.text为strtoint(maskedit1.text)
query1.open
end;
 
var id:string
begin
id:=maskedit1.text;
query1.sql.clear;
query1.sql.add('select * form student');
query1.sql.add('where id=:id');
query1.params.ParamByName('id').value:=id;
query1.open
end;
 
再把query打开以下就对了
楼上的对
 
把你的dbgrid指向QUERY的ds就能在dbgrid中显示结果
 
不知能不能混点分[:D]
首先,你的dbgrid的datasource设为DataSource,然后datasource的dataset设为query
最后你在botton的onclick事件里输入如下代码:
begin
query1.close;
query1.sql.clear;
query1.sql.add('select * from student where id=:var_id');
query1.params.ParamByName('var_id').value:=maskedit1.text;
query1.open
end
 
只要把数据源query或table激活就可以了,如query1.active:=true;
ok!
 
呵呵,我就不凑热闹了
 
在写带参数的SQL语句,最好使用Format格式化字符串,只有日期格式需要参数:)P)
 
select * from 表 where to_char(日期)=:date1
 
多人接受答案了。
 
顶部