作者Arim (Arim5566)
看板C_Sharp
标题[问题] sqlcommand中parameter的用法
时间Thu Dec 29 16:36:19 2011
各位版友好
假设目前我有四个栏位(四个textbox,分别是cid、cname、tel、city)
SqlCommand cmd = new SqlCommand(
"select * from Client where cid=@cid and cname=@cname and
tel=@tel and city=@city", conn);
cmd.Parameters.Add("@cname", SqlDbType.NVarChar, 50).Value =
CnameTextBox.Text;
...
上述的sql指令会从资料库捞回符合这四个栏位的资料回来
但是我如果全部的栏位没有输入,只输入部分的栏位(例如只输入cid)
他就会回传符合cid这个栏位的资料
但是这样我就要重复写sql command,如下
select * from Client where cid=@cid
但是目前有四个栏位,我就必须写入2^4=16条sqlcommand,会非常麻烦
请问如何只写一条sqlcommand,并且可以处理所有的textbox输入情形?
谢谢各位版友
--
~宅男的四个徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以当好人为乐 忘记正妹亏欠自己
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.197.57
1F:→ ssccg:先判断有没有输入值,再产生command text? 12/29 18:30
2F:→ Arim:目前也只能用楼上的方法 只是不知道还有没有更简洁的写法 12/29 18:53
3F:→ DeepSix:反正是符合其中一个以上的状态才回传,用or就好啦 12/29 23:44
4F:推 Elly:这要考的是你sql功力吧~用(@xxx='' or xxx=@xxx)处理吧 12/31 10:33