C# SQLselect * from...where 列=变量 要怎么写,一直没法找到

C#SQLselect*from...where列=变量要怎么写,一直没法找到stringsql="select*from商品信息数据表whereszItemID='"+... C# SQLselect * from...where 列=变量 要怎么写,一直没法找到
string sql="select * from 商品信息数据表 where szItemID='" + s1 + "'";和string sql="select * from 商品信息数据表 where szItemID='%s1%'";都不行,S1是string型,表里是nvarchar型,我用
int res; res= comm.ExecuteNonQuery();res>0判断表里已经有这一项,但是试过很多次,不管有没有都是res=-1;
但是 comm = new SqlCommand("insert into 商品信息数据表 values('" + s1 + "','" + s2 + "','" + s3 + "','" + s4 + "')", conn);这句话却是可以的,高手帮忙看看
展开
 我来答
百度网友1950a79df
2012-11-28 · TA获得超过932个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:357万
展开全部
你写的第一句应该可以用
string sql="select * from 商品信息数据表 where szItemID='" + s1 + "'";

但是你不能用res= comm.ExecuteNonQuery()来判断是否已有这一项。ExecuteNonQuery返回的是被更改的行数(包括insert, delete和update)

有几种办法来做这件事:
1。用SqlDataReader reader = comm.ExecuteReader();
然后
while (reader.Read())
{
// 只要读到一行就知道有这一项了
}
2。建立SqlDataAdapter,用它来填充一个DataTable,然后直接读取rows.count
3。把SQL 命令改称select count(*) .... 然后读取第一行、第一列的数值
路过苁前
2012-11-28 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:26.6万
展开全部
前一句如同楼上的, where szItemID='%s1%',这个模糊查询需要用到like关键字,where szItemID like '%s1%'。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xingcaili_520
2012-11-28
知道答主
回答量:2
采纳率:0%
帮助的人:3264
展开全部
把S1.trim()一下有可能是多空格 了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式