作者rushcat (嗯)
看板C_Sharp
标题Re: [问题] 关於SQL使用参数化查询,combobox.selec …
时间Tue Jun 8 13:12:27 2010
: 查询条件的输入栏位有四个分别为两个textbox员编,姓名及两个combobox职称,班别
: 我想要做的功能是输入任何一个栏位条件查询皆可
: 也就是说可以输入tb1 ->查询资料 或者tb1 and tb2 ->查询 或四个栏位条件都选
: (就是画面有四个栏位可以给user输入条件後查询结果,最少一个条件,最多四个)
: 但我下SQl目前用select * from [table] where 员编=@ID and ....group by 员编
: 如果用and:tb1有输入tb2没输入就没办法以tb1去查询到结果,有员编001但不会show
: 如果用or:则tb1输入员编001,tb2输入Melvin 会跑出两笔结果,但结果应该要无此资料
要先问DBMS!? 以下以MSSQL为例
SELECT *
FROM Table
WHERE (LEN(@tb_1) = 0 OR 员编 = @tb_1)
AND (LEN(@tb_2) = 0 OR 姓名 = @tb_2)
AND (LEN(@tb_3) = 0 OR 职称 = @tb_3)
AND (LEN(@tb_4) = 0 OR 班别 = @tb_4)
LEN是MSSQL判断字串长度 如果没给参数(空值) LEN = 0 就直接让那条件为True
这样一样可以直接给四个参数 但给之前记得Trim一下就是了
不晓得这样是不是符合你的需求!?
--
◢ █◣ ◢◢◣ ◢◣◥████
◢███◣ ◢ ◣ █╴█╴█ ████
███▉█ ◢█◢ ◣◢ ██ ≡███≡ ◥█
███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥█﹋█◤ ◎ █
█▇▇▇◤ █▉█ █▇▇ █▇▏ ▉▇▇ █▉█ ██ ▉▉█▏▏/ ◢█
██▇▏◣ █▇█ ▇▇█ ██▏ ███ █▇█▎██ █▉▉█▏▏█ rushcat
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.128.113
※ 编辑: rushcat 来自: 219.87.128.113 (06/08 13:23)
1F:推 melvinlee:是这样的想法没错~但可以用在ACCESS上吗? 06/08 22:44
2F:→ rushcat:Access有Len Function 能不能用请自己试试看... 06/09 08:11
3F:推 melvinlee:恩 我会去试试看 谢谢您的指导~ 06/10 00:34