c# mysql 触发器 实时,C#-.Net SqlDataAdapter和SQL Server中的触发器
我在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中的触发器相关推荐
- sql 会话_在特定会话中禁用SQL Server中的触发器
sql 会话 This article will focus on the various ways to disable triggers in SQL Server so they won't i ...
- 如何在SQL Server中使用触发器
触发器是一种特殊的存储过程,在使用触发器之前可以与存储过程进行比较,触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用. 触发器主要优点如下: 触发器是自动的:当对表中 ...
- sql server中的触发器
目录 1.触发器的定义 2 触发器的分类 3 : dml触发器的工作原理 4 触发器的应用 1.insert触发器 2.delete触发器 3 update 触发器 DDL触发器 5.触发器的启用 ...
- SQL Server中的登录触发器概述
This article gives you an overview of Logon triggers in SQL Server and its usage to control SQL Serv ...
- sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段
在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...
- Sql Server系列:触发器
触发器的一些常见用途: ◊ 强制参照完整性 ◊ 常见审计跟踪(Audit Trails):这意味着写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据. ◊ 创建与CHECK约束 ...
- mysql物理读和逻辑读,SQL Server中STATISTICS IO物理读和逻辑读的误区
SQL Server中STATISTICS IO物理读和逻辑读的误区 人人知道,SQL Server中可以行使下面下令查看某个语句读写IO的情形 SET STATISTICS IO ON 那么这个下令 ...
- SQL server与Oracle触发器的创建与使用
SQL Server 1创建触发器 GO BEGIN IF (object_id('WMY', 'tr') is not null) DROP trigger WMY END; GO CREATE T ...
- Sql Server中实现Mysql中的group_concat函数效果
Sql Server中实现Mysql中的group_concat函数效果 SELECT oi.*, stuff((select ','+convert(varchar(25), GuestName) ...
最新文章
- C语言中字符型在计算机中的存储
- R语言广义线性模型Logistic回归案例代码
- SAP QM QM11显示Quality Notification List
- 2018世界人工智能蓝皮书:看中国到底有多强!【附下载】| 智东西内参
- windows 安装
- 思科配置计算机ip地址子网掩码,计算机系统与网络技术IP地址 子网掩码 主机号等计算复习...
- Windows基于gitee使用hexo搭建个人博客笔记
- Luogu3834 【模板】可持久化线段树 1(主席树)
- 项目管理 计算机仿真,刘宝林老师【项目管理】《挑战埃及》沙盘课程内容分享...
- linux修改sybase数据库密码,巧用Sybase数据库的超级用户密码
- switch删除用户显示正在维护服务器,Switch即将迎来6.0更新 账号与用户无法再正常解绑...
- 中国传统四大菜系之:淮扬菜
- LLVM学习笔记----clang、llvm-as、llvm-dis、llc、 llvm-link、lli
- 中国经济能否率先复苏
- 基于百度地图实现Android定位功能实现(详解+教程)
- pytorch深度学习_用于数据科学家的深度学习的最小pytorch子集
- $(div /)代表的意思
- 挑战用五行代码轻松集成登录系统,实现单点登录
- 短网址系统php源码,Tanking个人短网址生成PHP源码
- deepin升级到20.2,开机显示deepin LOGO之后屏幕黑屏解决办法
热门文章
- 面试:说说Java 中堆和栈的区别?
- 7000字 Redis 超详细总结笔记总 | 收藏必备!
- Spring Cloud Stream消费失败后的处理策略(一):自动重试
- 如何开发利用计算机字体,如何利用PS来制作水纹特效字体
- Java-反射简介及例子
- 微信小程序开发记录一,开发工具的使用
- ResNet超强变体:京东AI新开源的计算机视觉模块
- cuda runtime error (59) : device-side assert triggered when running transfer_learning_
- PaddleHub 视频人脸检测
- pytorch cross_entropy