问一个关于查询的问题? 我用了一个Table控件和DBGrid控件,我想在DBGrid控件中动态的显示符合条件的记录!但是我不知道怎么实现?请前辈指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以更改Table 的 Filter 属性,就是对结果过滤。也可以换用Query,修改它的SQL属性。 同意楼上!with adoquery dobegin close; sql.clear; sql.add('select * from table where ...'); open;end;dbgrid.datasource := adoquery; 能说的更具体一点吗?我是菜鸟!我有点不太明白,能麻烦你给写个例子吗?如何修改Filter的属性阿!谢谢了!希望前辈指教! 来晚了,swayi21(微斯人) 说的对,俺来混点分,嘻嘻…… //假设你要显示所有id=1并且nd=38的记录table1.Active:=false;table1.Filter:=('id=1 and nd=38');table1.Filtered:=true;table1.Active:=true; 为何不用sql语句,多方便,table1.filter:='fieldname='''+edit1.text+'''';table1.filtered:=true;字符串区分大小写。 我现在已经可以用Table动态的显示了,但是又发生了这样一个问题!就是,现在的查询条件只能是数字,要是用字符的话就提示找不到!但是在数据库中那条记录是存在的!(我的代码如下,有什么地方写的不对,请指正谢谢!)with DM do begin JTable.Active := False; JTable.Filter := 'jcid='+jbmEdit.Text+' or jcunit='+jdwEdit.Text+''; JTable.Filtered := True; JTable.Active := True; end; 改为:with DM do begin JTable.Active := False; JTable.Filter := 'jcid='+''''+jbmEdit.Text+''''+'(空格)or '+ ' jcid='+''''+jdwEdit.Text+''''; JTable.Filtered := True; JTable.Active := True; end; 我觉得还是用SQL语句比较好使用filter要把所有的记录取回来先,数据比较多的时候会比较慢 画线 置顶 如何实现在一张底图上叠加多个小图象? 请各位帮忙解决一个问题? 进销存的问题 DBGridEh中加入下拉框已做好,如何才能使用户只能从下拉表中选取而不能输入? Delphi+SQL Server用ODBC连接,对多表视图可以做更新操作吗?如何保证不出错? 一个最简单的打印问题。。是关于delphi,在线给分。急急急 怎样用delphi朗读中文,微软的tts可以吗?急 DBNavigator1的post按钮是什么意思? D6 & D5 到底有什么本质的区别? 怎样可以检查客户在EDIT输入的单号带有A。B。C就提取各自不同的价钱 有关数据库的问题
也可以换用Query,修改它的SQL属性。
with adoquery do
begin
close;
sql.clear;
sql.add('select * from table where ...');
open;
end;
dbgrid.datasource := adoquery;
我是菜鸟!
我有点不太明白,能麻烦你给写个例子吗?如何修改Filter的属性阿!
谢谢了!希望前辈指教!
table1.Active:=false;
table1.Filter:=('id=1 and nd=38');
table1.Filtered:=true;
table1.Active:=true;
table1.filter:='fieldname='''+edit1.text+'''';
table1.filtered:=true;
字符串区分大小写。
就是,现在的查询条件只能是数字,要是用字符的话就提示找不到!但是在数据库中那条记录是存在的!(我的代码如下,有什么地方写的不对,请指正谢谢!)with DM do
begin
JTable.Active := False;
JTable.Filter := 'jcid='+jbmEdit.Text+' or jcunit='+jdwEdit.Text+'';
JTable.Filtered := True;
JTable.Active := True;
end;
with DM do
begin
JTable.Active := False;
JTable.Filter := 'jcid='+''''+jbmEdit.Text+''''+'(空格)or '+ ' jcid='+''''+jdwEdit.Text+'''';
JTable.Filtered := True;
JTable.Active := True;
end;
使用filter要把所有的记录取回来先,数据比较多的时候会比较慢