存储过程动态参数问题(想了好久没有想明白)

CodeAnyWhere 2007-04-25 03:33:42
我有一张表A

ID , Name , Remark

1 a
2 b

其中ID列是int , Name 与Remark 是nvarchar类型。

我的客户在查询的时候会在一个文本框中输入:ID 值或者是Name值,
如果不用存储过程的话,直接拼凑SQL就行了,我可以这样写
select * from A where ID='"+TextBox1.text+"' or Name like '"+TextBox1.text+"',然后我通过ADO.net 来执行这个语句就可以实现这个功能但是如果我用存储过程来实现,就是存储过程的参数也只能有一个

例如:

我可以写一个存储过程:
参数是
create Procedure GetA
@Query nvarchar(50)
(
--拼字符串然后执行。
---exec...
)
但是问题是,我像在Ado 中拼的字符串一样,在ado 中是弱类型的,但是在存储过程中是强类型的,所以我用存储过程实现不了这个功能,大家有好的想法吗?
...全文
228 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgzaaa 2007-04-25
  • 打赏
  • 举报
回复
最好的办法是在应用程序中加一AB之类的然后在sql语言中用于判断,并在使用时去除
wgzaaa 2007-04-25
  • 打赏
  • 举报
回复
在存储过程中分情况 if datalength('王某某')<>len('王某某') 有汉字
wgzaaa 2007-04-25
  • 打赏
  • 举报
回复
反正也是应用程序传来的,在应用程序中统一成字符形
CodeAnyWhere 2007-04-25
  • 打赏
  • 举报
回复
哪位帮忙看看,哈哈

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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