Delphi 中使用SQL语句的问题。

delphi中放置checkbox1到checkbox6,任意勾选之后跑取SQL语句,但是SQL里的条件都是or的关系。比如select*fromtable1where1... delphi中放置checkbox1 到 checkbox6 ,任意勾选之后跑取SQL语句,但是SQL里的条件都是 or 的关系。比如

select * from table1 where 1=1
and (字段1=abc checkbox1
or 字段2=123 checkbox2
or 字段3=456 checkbox3
or 字段4=567 checkbox4
or 字段5=789 checkbox5
or 字段6=YYY) checkbox6

问题来了,用户先勾选什么并不知道,所以上面那个 and 和 or之间很难处理。大家应该能明白我的意思吧!
这样子要如何可以完整拼出一个SQL语句呢?

还要考虑当checkbox 的某一个被去掉 勾选的时候的SQL语句。你有方案吗?
展开
 我来答
moralistxp
推荐于2016-03-03 · TA获得超过741个赞
知道大有可为答主
回答量:2216
采纳率:76%
帮助的人:495万
展开全部
pascal语法忘记了,大致意思

i=0 #确定是否为第一个被check的字段
sql=select * from table1 where 1=1
if checkbox1.checked then

i=1
sql=sql + " and ( 字段1=abc"

end if
if checkbox2.checked
if i=0 then
i=1
sql=sql + " and ( 字段2=123"
else
sql=sql + " or 字段2=123"

end if
if checkbox3.checked
if i=0 then
i=1
sql=sql + " and ( 字段3=456"
else
sql=sql + " or 字段3=456"
end if
if i=1 then
sql=sql + " )"
end if
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式