只要你对CheckListBox的选择及时的写入DataSet中,与DataSet想连的DBGrid会自动更新的。
解决方案 »
- 关于PChar
- 客户端EXE程序,连接MS SQL数据库的问题?
- socket的send函数问题!
- Sql查询语句中字段带函数该如何写?
- 大侠帮忙啊:EAccessViolation错误
- 马上就要和女友分手.郁闷散分.跟满10贴开新贴继续散!
- 远程访问SQL-Server出错。
- 设置什么属性可使DBimage控件与所显示的图片内容的大小相同?
- 有一个问题困扰着我,各位大虾,中菜,小鸟给点意见,我很真诚(给分)的感谢你们!!我到底是该……,还是该……,我该怎么做
- 诚意邀请DELPHI高手光临,感谢您的诚心指点
- 请问用DotHLP制作CHM帮助文件时汉字老是出现乱码怎么解决?
- 请大家给几个图标下载的网址好不好,多多益善
CheckListBox中的项目 对应的是什么?字段?DBGrid显示的字段不同还事纪录不同
SQL.ADD('select * from kcjlb');
SQL.ADD('where 商品名称=:p_name1 and 商品名称=:p_name2 ...');
parabyname('p_name1').value:=...
parabyname('p_name2').value:=...
...
这样写是不是太麻烦了,有没有简单一些的方法
SQL.ADD('where 商品名称=:p_name1 or 商品名称=:p_name2 ...');
写一个函数
var
count:integer;
temstr:array of string;
procedure chaxun();
begin
找到CheckListBox当前选择项数。///——i;
if i=1 then 自己写
else begin
setlength(temstr,i); with query do begin
if active then active:=false;
sql.clear;
SQL.ADD('select * from kcjlb where ');
sql.add(' 商品名称=:p_name1');
for count:=0 to i-1 do begin
temstr[count]:=CheckListBox的项i;
if count>0 then begin
sql.add(' and 商品名称=:p_name'+inttostr(count+1));
parambyname('p_name'+inttostr(count+1)).value:=temstr[count]
end;
end;
parambyname('p_name1').value:=temstr[0];
query1.active:=true;
end;
end;
end;
能否再帮我看看http://www.csdn.net/expert/topic/220/220794.shtm,多谢!