在线等待求助

yibey 2010-08-23 04:01:37
现在我在编写一个共享数据的程序。

基本情况:
我现在有2个数据库一个叫admin 一个site ,里面都有一个表叫做message。admin中message表设置了一个触发器去更新site的message。site里面也有个触发器,执行其他操作。
操作过程:(1)现在我通过.NET的command对象对admin里面的message进行插入操作,并且command建立一个事务。
(2)我把同样的语句在查询分析器里执行一下。

结果:第一种获得只在site理的message有数据但是该表的触发器没有执行。
第二种情况site里有数据并且执行了它的触发器。


求助这是为什么

...全文
145 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibey 2010-08-24
  • 打赏
  • 举报
回复
现在我彻底找到原因了,当我们对CMD做addwithvalue操作的时候@@nestlevel 自动变成2了至于为什么会这样我目前无从考证。学习的同学大家相互借鉴一
饭后散步 2010-08-24
  • 打赏
  • 举报
回复
应该是ADO.NET造成的
yibey 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yibey 的回复:]

各位经过不屑努力我发现问题所在了。IF @@NESTLEVEL >3
RETURN
在触发器中有这句代码。但是奇怪的是这个参数说的是触发器 嵌套层数。第一次insert 的时候应该是1,然后触发器执行应该是2,再然后SITE里的触发器应该是3.查询分析器里执行就是刚好执行4次跟IF @@NESTLEVEL >3这个条件符合。但是为什么在.NET中执行的时候刚进入触发器该值就是3了。所以只响应……
[/Quote]
修改一下写错一个地方
各位经过不屑努力我发现问题所在了。IF @@NESTLEVEL >3
RETURN
在触发器中有这句代码。但是奇怪的是这个参数说的是触发器 嵌套层数。第一次insert 的时候应该是0,然后触发器执行应该是1,再然后SITE里的触发器应该是2.查询分析器里执行就是刚好执行4次跟IF @@NESTLEVEL >3这个条件符合。但是为什么在.NET中执行的时候刚进入触发器该值就是3了。所以只响应……
yibey 2010-08-23
  • 打赏
  • 举报
回复
小弟感激不尽啊
yibey 2010-08-23
  • 打赏
  • 举报
回复
你能解决我的提问么
yibey 2010-08-23
  • 打赏
  • 举报
回复
有没有人能帮帮我啊
yibey 2010-08-23
  • 打赏
  • 举报
回复
各位经过不屑努力我发现问题所在了。IF @@NESTLEVEL >3
RETURN
在触发器中有这句代码。但是奇怪的是这个参数说的是触发器 嵌套层数。第一次insert 的时候应该是1,然后触发器执行应该是2,再然后SITE里的触发器应该是3.查询分析器里执行就是刚好执行4次跟IF @@NESTLEVEL >3这个条件符合。但是为什么在.NET中执行的时候刚进入触发器该值就是3了。所以只响应了2次操作。

那么请问.NET中什么东西可以影响@@NESTLEVEL的值
不懂装懂 2010-08-23
  • 打赏
  • 举报
回复
...好可怜,没法自己顶了吧..帮你顶下
yibey 2010-08-23
  • 打赏
  • 举报
回复
高手快出来
yibey 2010-08-23
  • 打赏
  • 举报
回复
you ren me
yibey 2010-08-23
  • 打赏
  • 举报
回复
site里的触发器也是MESSAGE表的,作用不管

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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