很奇怪的问题,关于ExecuteNonQuery的返回值!!!!

StarCraftPJF 2009-08-13 11:51:05
asp.net(c#)2.0开发webform 使用ado.net连接数据库

请看代码:


string Sql = "update Members set Password = @Password where UserName = @UserName";

return DBAccess.ExecuteNonQuery(CommandType.Text, Sql, sps);


表Members中UserName是主键,但是执行完SQL后,返回的竟然是2

按我的理解应该是1才对啊!!


请指点一下!!!

...全文
182 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
StarCraftPJF 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 flyerwing 的回复:]
看看ExecuteNonQuery这个方法是怎么定义的,是不是单纯的返回SqlCommand
的ExecuteNonQuery()
[/Quote]

ExecuteNonQuery肯定是没有问题的,对其它表的操作一直没问题,就最近发现对members这张表有问题.

members这张表有触发器的,不过密码修改应该不会触发任何东西的.

还有我在企业管理器中执行了一下,返回1条记录被影响.
flyerwing 2009-08-14
  • 打赏
  • 举报
回复
看看ExecuteNonQuery这个方法是怎么定义的,是不是单纯的返回SqlCommand
的ExecuteNonQuery()
izbox 2009-08-14
  • 打赏
  • 举报
回复

昨天帮别人解答的,在SQL语句后面加个 select @@ROWCOUNT 表示返回行数,具体请参考帖子:
http://topic.csdn.net/u/20090813/16/66590bfc-aa83-4f5e-bbbf-e0d1064e4e2f.html

select '1' union all
select '3' union all
select '2222' union all
select 'a'
select @@ROWCOUNT as '相应行数'

--结果

--相应行数
--4

laochen1972 2009-08-14
  • 打赏
  • 举报
回复
表示修改了两条记录
StarCraftPJF 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lovely_baby 的回复:]
你到sql中去执行看看 是几??
[/Quote]

刚刚在企业管理器中执行了一下,代码如下:

UPDATE HR_Members
SET Password = '123'
WHERE (UserName = '0004')


返回1条记录被执行
StarCraftPJF 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ji_ju 的回复:]
你更新密码 触发什么?
[/Quote]

密码的更新不会触发什么东西的啊!!!
Lovely_baby 2009-08-14
  • 打赏
  • 举报
回复
你到sql中去执行看看 是几??
ji_ju 2009-08-14
  • 打赏
  • 举报
回复
你更新密码 触发什么?
StarCraftPJF 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wdzr_826 的回复:]
呵呵,同意楼上看看ExecuteNonQuery这个方法是怎么定义的,是不是单纯的返回SqlCommand
的ExecuteNonQuery()
[/Quote]

就是单纯的返回SqlCommand的ExecuteNonQuery()

自己定义,主要是把连接数据库的一些东西写在里面了!


StarCraftPJF 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yan267 的回复:]
有触发器??
[/Quote]

对有触发器的,是这个原因???
wdzr_826 2009-08-13
  • 打赏
  • 举报
回复
呵呵,同意楼上看看ExecuteNonQuery这个方法是怎么定义的,是不是单纯的返回SqlCommand
的ExecuteNonQuery()
我姓区不姓区 2009-08-13
  • 打赏
  • 举报
回复
DBAccess.ExecuteNonQuery是自己定义的类中的方法吧?
返回值是受影响行数吗?
yan267 2009-08-13
  • 打赏
  • 举报
回复
有触发器??
Jelly_tracy 2009-08-13
  • 打赏
  • 举报
回复
只能说有两个同样的记录,或者说你的记录大小写上存在差别,但是认为是一样 记录

我是这么认为的,可能不对,请指正
StarCraftPJF 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]
存在2条UserName相同的记录
[/Quote]

UserName是主键,理论上不可能,我也抽样检查过了,只有一条记录
我姓区不姓区 2009-08-13
  • 打赏
  • 举报
回复
存在2条UserName相同的记录
limii 2009-08-13
  • 打赏
  • 举报
回复
up
wuyq11 2009-08-13
  • 打赏
  • 举报
回复
看看定义的方法的返回值,ExecuteNonQuery是返回受影响的行数

62,046

社区成员

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

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

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

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