C#中SQL 条件语句where后面的通配符如何用参数取代

stringstrsql="select*fromAwhere("+变量a+")("+变量b+")'%"+tbZiChanJX.Text+"%'";1、其中的变量a是表A... string strsql = "select * from A where (" + 变量a + ") (" + 变量b + ") '%" + tbZiChanJX.Text + "%' ";
1、其中的变量a是表A里面的字段名,因为字段名原本就是string类型,专业那个传没有问题
2、变量b是SQL语句中的通配符如(= < > like)等等。。。因为通配符不是string类型,所以不能直接跟变量a一样传参。
要怎么做?
为了条件匹配
展开
 我来答
匿名用户
2018-02-01
展开全部
建议可以采用这种形式:
string str = string.format("select * from Table where ID = '{0}' ",para)
追问

d=Textboks.Text;

貌似用占位符可以解决,但是新的问题又出来了。后面取的是Textboks值,占位符{0}是=就是{1}没有%%,占位符{0}是like,占位符{1}必须有%%,这个要怎么解决。同样用占位符,提示Varchar类型转int失败什么的。

追答
你还是不能理解字符串格式化的意义,格式化后就不用拼接那么麻烦了!
string.format (select * from Table where uname like '%{0}%',para)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式