我用SQL语句:select * from aaa where 编号=1; 查询表aaa中是否有编号=1这条记录。然后我用int n = SqlCommand.ExecuteNonQuery() 返回n的值。 可是不管aaa表中有还是没有这条记录,n的值始终是-1,不知道为什么????
我如果想实现这个功能(就是查询表中有没一条记录)还有什么办法吗?谢谢!!!
我如果想实现这个功能(就是查询表中有没一条记录)还有什么办法吗?谢谢!!!
如果你希望查许的是 编号 = 1 的行数,就应该把sql语句改成:select count(1) from aaa where 编号 = 1; 然后还是用int n = SqlCommand.ExecuteScalar();得到查询的结果。
腰缠70元到月入近10万
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=453IT工程师 毕业4年我年薪涨到30万
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=51126岁青年坐拥千万域名资产 从小玩家变成CEO
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=515程序员的酸甜苦辣:告别Coding
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=341从月薪3500到700万(一)
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=170网络草根月赚3000的十种方法
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=517如果我是女的 我肯定不会嫁给做网站的
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=512
SqlCommand.ExecuteNonQuery 方法 是对连接执行 Transact-SQL 语句并返回受影响的行数,而不是返回查询的结果,你应该使用int n = SqlCommand.ExecuteScalar();
如果你希望查许的是 编号 = 1 的行数,就应该把sql语句改成:select count(1) from aaa where 编号 = 1; 然后还是用int n = SqlCommand.ExecuteScalar();得到查询的结果。
=====================================
正解答。补充一下:COUNT,MAX,MIN等都可以使用
SqlCommand.ExecuteScalar(); 还获得
MSDN里有详细说明。对于select 命令。不论怎么样都只有返回-1。而对于其它如insert和update语句则返回受影响的行数。
腰缠70元到月入近10万
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=453IT工程师 毕业4年我年薪涨到30万
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=51126岁青年坐拥千万域名资产 从小玩家变成CEO
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=515程序员的酸甜苦辣:告别Coding
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=341从月薪3500到700万(一)
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=170网络草根月赚3000的十种方法
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=517如果我是女的 我肯定不会嫁给做网站的
http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=512