关于循环语句取值问题

cmpxf 2007-09-10 10:15:57
for I := 0 to edtZjfs.Items.Count - 1 do
begin
if edtZjfs.checked[i] then
begin
if R.Zjfsstr1 = '' then
R.Zjfsstr1 := '''' + Trim(edtZjfs.Items.Strings[i]) + ''''
else
R.Zjfsstr1 := R.Zjfsstr1 + ',' + '''' + Trim(edtZjfs.Items.Strings[i]) + '''';
end;
end;

edtZjfs是CheckedComboBox控件

需要取多个增加方式的值来进行查询,SQL语句是 select * from a where zjfs in (R.zjfsstr1)
可是选两个数据的时候是可以的,如果选中三个的话,会出现select *from a where zjfs in ('购买','赠送','政府?
想请教一下是怎么回事,急,谢谢各位了。
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyang 2007-09-10
  • 打赏
  • 举报
回复
啊哦。。。
帮顶
hmzgz81 2007-09-10
  • 打赏
  • 举报
回复
写进sql 前 把 R.Zjfsstr1 showmessage show出来看看。

多做些调试,看问题出现在具体的那句语句里!

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧