关于sqlcom.ExecuteNonQuery()的问题

skyyun 2007-07-24 11:09:26
在执行sqlcom.ExecuteNonQuery()的时候,是不是返回受影响的行数?
result = sqlcom.ExecuteNonQuery();
if (result < 1)
{
return false;
}
return true;
为什么就是返回false呢,明明有保存数据啊
...全文
634 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsmmst 2011-07-09
  • 打赏
  • 举报
回复
如果我想知道Select操作选中了多少行怎么办啊???
skyyun 2007-07-24
  • 打赏
  • 举报
回复
楼上的说的对,存储过程不会主动给你返回值所以。。。。
====================
哦,明白意思了,呵呵,结帖
skyyun 2007-07-24
  • 打赏
  • 举报
回复
NonQuery就是非查询的意思得嘛

在你select的时候是不会返回行数的。只会返回-1

楼主知道了吧?
==================
我的不是查询啊是更新
jimu8130 2007-07-24
  • 打赏
  • 举报
回复
楼上的说的对,存储过程不会主动给你返回值所以。。。。
nyzfl 2007-07-24
  • 打赏
  • 举报
回复
你的存储过程没有任何返回值,sqlcom.ExecuteNonQuery总为-1
MureLiauw 2007-07-24
  • 打赏
  • 举报
回复
NonQuery就是非查询的意思得嘛

在你select的时候是不会返回行数的。只会返回-1

楼主知道了吧?
skyyun 2007-07-24
  • 打赏
  • 举报
回复
public override bool DeleteWebArchives(int webArchivesID)
{
using (SqlConnection myConnection = GetSqlConnection())
{
SqlCommand sqlcom = new SqlCommand(databaseOwner + ".extend_DeleteWebArchives", myConnection);
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.Add("@WebArchivesID", SqlDbType.Int).Value = webArchivesID;
int result = 0;
myConnection.Open();
result = sqlcom.ExecuteNonQuery();
if (result<1)
{
return false;
}
return true;
}
}
===========
删除成功但返回的还是false
skyyun 2007-07-24
  • 打赏
  • 举报
回复
都是msdn上的,我只是UPDATE、INSERT 和 DELETE ,但是返回的跟我预料的就是不一样啊,明明保存了,还是返回false
jimu8130 2007-07-24
  • 打赏
  • 举报
回复
您可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。

虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。

-------------------msdn标准解释
jimu8130 2007-07-24
  • 打赏
  • 举报
回复
这个你在网上搜索就能找到答案的
这个函数执行数据更新操作(update,delete,add)返回都是影响函数,如果是select操作不应该用这个来进行而应该使用excutescalar或者excutedatareader
sansuihub 2007-07-24
  • 打赏
  • 举报
回复
如果发生回滚,返回值也为 -1,呵呵
yaoshuwen 2007-07-24
  • 打赏
  • 举报
回复
ls正解
MicroSoftor 2007-07-24
  • 打赏
  • 举报
回复
对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为 -1。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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