我在SQL Server中使用触发器,该触发器在SQL Server Management Studio的查询窗口中执行查询时按要求工作.触发器的目的是从一个表中获取最新值(其中一个ID对应于插入的ID),然后将此值添加到插入的行中.

我还在C#中使用DataAdapter与具有触发器的同一数据库进行交互.当我使用MyAdapter.update(MyDataTable)将新值插入分配给触发器的表中时,触发器不会执行.

我做了很多谷歌搜索,但似乎没有其他人遇到这个问题,因此我认为我缺少一些基本知识.我也是与.Net进行数据库交互的新手.数据适配器正常工作(即根据需要插入和更新),但不触发触发器.

以下是我的C#代码和触发器的一些摘录.

CREATE TRIGGER getLatestCap

ON TestIDTable

AFTER insert

AS

BEGIN

SET NOCOUNT ON;

DECLARE @BID INT;

DECLARE @Date Date;

SET @BID = (SELECT BattID FROM inserted);

SET @Date = (SELECT Test_Date FROM inserted);

SELECT M_Cap, Cap_Date

INTO #tempTable

FROM CapDataTable

WHERE BattID = @BID;

-- Set the Test_Cap entry in TestIDTable to that capacity.

UPDATE TestIDTable

SET Test_Cap = (SELECT M_Cap

FROM #tempTable

WHERE Cap_Date = (SELECT max(Cap_Date)

FROM #tempTable))

WHERE BattID = @BID AND Test_Date = @Date;

END

GO

private void Setup()

{

try

{

string BattSelect = "SELECT * FROM " + tbl;

dt = new DataTable();

Adpt = new SqlDataAdapter(BattSelect, ConnectionStr);

builder = new SqlCommandBuilder(Adpt);

Adpt.Fill(dt);

}

catch (Exception e)

{

MessageBox.Show("While Connecting to "+tbl+": " + e.ToString());

}

}

private void UpdateDB()

{

try

{

Adpt.InsertCommand = builder.GetInsertCommand();

Adpt.UpdateCommand = builder.GetUpdateCommand();

Adpt.Update(dt);

}

catch (Exception e)

{

MessageBox.Show("While Updating " + tbl + ": " + e.ToString());

}

}

问题摘要:触发器可在SQL Server中工作,但在使用数据适配器时会触发(也不会抱怨).

感谢您的时间和帮助!

马文

c# mysql 触发器 实时,C#-.Net SqlDataAdapter和SQL Server中的触发器相关推荐

  1. sql 会话_在特定会话中禁用SQL Server中的触发器

    sql 会话 This article will focus on the various ways to disable triggers in SQL Server so they won't i ...

  2. 如何在SQL Server中使用触发器

    触发器是一种特殊的存储过程,在使用触发器之前可以与存储过程进行比较,触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用. 触发器主要优点如下: 触发器是自动的:当对表中 ...

  3. sql server中的触发器

    目录 1.触发器的定义 2  触发器的分类 3 :  dml触发器的工作原理 4 触发器的应用 1.insert触发器 2.delete触发器 3 update 触发器 DDL触发器 5.触发器的启用 ...

  4. SQL Server中的登录触发器概述

    This article gives you an overview of Logon triggers in SQL Server and its usage to control SQL Serv ...

  5. sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段

    在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...

  6. Sql Server系列:触发器

    触发器的一些常见用途: ◊ 强制参照完整性 ◊ 常见审计跟踪(Audit Trails):这意味着写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据. ◊ 创建与CHECK约束 ...

  7. mysql物理读和逻辑读,SQL Server中STATISTICS IO物理读和逻辑读的误区

    SQL Server中STATISTICS IO物理读和逻辑读的误区 人人知道,SQL Server中可以行使下面下令查看某个语句读写IO的情形 SET STATISTICS IO ON 那么这个下令 ...

  8. SQL server与Oracle触发器的创建与使用

    SQL Server 1创建触发器 GO BEGIN IF (object_id('WMY', 'tr') is not null) DROP trigger WMY END; GO CREATE T ...

  9. Sql Server中实现Mysql中的group_concat函数效果

    Sql Server中实现Mysql中的group_concat函数效果 SELECT oi.*, stuff((select ','+convert(varchar(25), GuestName) ...

最新文章

  1. C语言中字符型在计算机中的存储
  2. R语言广义线性模型Logistic回归案例代码
  3. SAP QM QM11显示Quality Notification List
  4. 2018世界人工智能蓝皮书:看中国到底有多强!【附下载】| 智东西内参
  5. windows 安装
  6. 思科配置计算机ip地址子网掩码,计算机系统与网络技术IP地址 子网掩码 主机号等计算复习...
  7. Windows基于gitee使用hexo搭建个人博客笔记
  8. Luogu3834 【模板】可持久化线段树 1(主席树)
  9. 项目管理 计算机仿真,刘宝林老师【项目管理】《挑战埃及》沙盘课程内容分享...
  10. linux修改sybase数据库密码,巧用Sybase数据库的超级用户密码
  11. switch删除用户显示正在维护服务器,Switch即将迎来6.0更新 账号与用户无法再正常解绑...
  12. 中国传统四大菜系之:淮扬菜
  13. LLVM学习笔记----clang、llvm-as、llvm-dis、llc、 llvm-link、lli
  14. 中国经济能否率先复苏
  15. 基于百度地图实现Android定位功能实现(详解+教程)
  16. pytorch深度学习_用于数据科学家的深度学习的最小pytorch子集
  17. $(div /)代表的意思
  18. 挑战用五行代码轻松集成登录系统,实现单点登录
  19. 短网址系统php源码,Tanking个人短网址生成PHP源码
  20. deepin升级到20.2,开机显示deepin LOGO之后屏幕黑屏解决办法

热门文章

  1. 面试:说说Java 中堆和栈的区别?
  2. 7000字 Redis 超详细总结笔记总 | 收藏必备!
  3. Spring Cloud Stream消费失败后的处理策略(一):自动重试
  4. 如何开发利用计算机字体,如何利用PS来制作水纹特效字体
  5. Java-反射简介及例子
  6. 微信小程序开发记录一,开发工具的使用
  7. ResNet超强变体:京东AI新开源的计算机视觉模块
  8. cuda runtime error (59) : device-side assert triggered when running transfer_learning_
  9. PaddleHub 视频人脸检测
  10. pytorch cross_entropy