作者MAGICXX (逢甲阿法)
看板Python
标题[问题] SQL一个栏位里面找复数目标
时间Fri Jun 1 09:12:22 2018
版友日安
我现在要利用PYQT下去资料库里面捞资料
遇到一个问题
我现在的query大概是这样下去处理
cmd="SELECT * FROM resdb WHERE 水库名称 IN ('{0}')"
.format(
str(self.res_name.text())
)
我给使用者一个textbox输入他要找的水库名称
可是这样会发生一个问题
如果只有输入一个的话 他是可以正常用的
整个cmd会变成
SELECT * FROM resdb WHERE 水库名称 in ('石门水库,西势水库')
这样下去的话 会找不到栏位里面有「石门水库,西势水库」这笔资料
因为我的栏位里面 石门水库跟西势水库是分开的
请问一下 我该怎麽处理 让他在SQL里面可以找复数的目标呢?
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.134.166.72
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1527815545.A.EE2.html
1F:→ kobe8112: 你需要限定使用者输入的格式,拆开後再合并到SQL查询吧 06/01 09:29
2F:→ kobe8112: where 水库名称 in ('石门水库','西势水库') 06/01 09:30
3F:→ aszx4510: 你为什麽要把使用者的输入"直接"放到SQL指令中呢~ 06/01 09:41
谢谢两位大大
我有想过要在程式码里面处理
可是我实在不知道怎麽着手...冏
※ 编辑: MAGICXX (140.134.166.72), 06/01/2018 09:55:11
4F:→ MOONY135: 我觉得这是SQL问题 06/01 10:42
5F:→ MOONY135: 你没有限定输入格式的话 是不可能的 06/01 10:45
7F:→ kobe8112: 很多方式,就算用最最简单的字串串接也可以呀 06/01 10:50
8F:→ kobe8112: 例如将输入格式化成list,完整查询指令的字串用 06/01 10:51
9F:→ kobe8112: prefix + list通通取出来 + postfix 06/01 10:52