毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

C#执行insert语句回受影响的行数却为-1了 第2页

更新时间:2012-5-16:  来源:毕业论文
你现在执行是存储过程,而不是 插入语句,你要得得到返回行,必须在存储过程中加入
return @@ROWCOUNT

在回调的时 用 int row = Convert.ToInt32(cmd.ExecuteScalar())即可


我们来做一个分析:只有UPDATE INSERT Delete 最后一条 语句 cmd.ExeuteNoQuery()返回的是受影响的行,默认值是-1,只有语句执行成功,才会返回受影响的行,这里隐藏了一个事务提交事件。

而你写的那个所谓的插入语句,其实只是一存储过程,执行这个存储过程,在数据里有一个 @@ROWCOUNT变量,发生了变了,而你却没有返回来。用ExecuteNoQuery()这种提交数据库,只有-1的值,因为你用的不是Insert 语句。


我来打个比方,

我们写有一个有返回的值的函数 其中有很多的语句
private int GetValue()
{
  int ret=-1;
  ---
  return ret;
}

---这些语句都没有改变 ret 的值,你想想,他会返回什么值。楼猪,不知我说明白没有。。也不知你看得懂不。

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©chuibin.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。