一、StateChange连接状态事件
StateChange事件在连接状态改变时触发,可以用StateChange事件监视Connection对象状态的改变。处理事件的方法称为事件处理器。这个方法在触发特定事件时调用。所以事件处理器方法都返回void并接受两个参数,一个是System.Object类的对象,表示引起事件的对象(System.Object类是所有类的基础类,换句话说,所有类最终都是从System.Object类派生的)。另一个参数是从System.EventArgs类派生的类对象。EventArgs类是事件的基础类,并表示这个事件的细节。对于StateChange事件,第二个对象是StateChangeEventArgs类对象。
 
1、下例定义StateChangeHandler方法以处理StateChange事件。注意这个方法的第二个参数是个StateChangeEventArgs对象。可以用这个对象的OriginalState属性取得连接的最初状态,用CurrentState属性取得连接的当前状态。
 
方法代码如下:
public static void StateChangeHandler(object sender,StateChangeEventArgs Event)
{
Response.Write(“con State has changed from“+”<br>”+Event.OriginalState+”<br>”+Event.CurrentState);
}
 
2、要监视事件,就要向这个事件注册事件处理器方法。
下面语句向SqlConnection对象的StateChange事件注册StateChangeHandler()方法
 
con.StateChange+=new StateChangeEventHandler(StateChangeHandler);
//StateChangeHandler为方法名称
二、InfoMessage数据库返回警告或信息消息事件
InfoMessage事件在数据库返回警告或信息消息时触发。可以用InfoMessage事件监视这些消息。要取得消息,可以从SqlInfoMessageEventArgs对象中读取Errors集合内容。可以用SQL Server PRINT或RAISERROR语句
产生信息与错误消息。
 
1、下例InfoMessageHandler()方法处理InfoMessage事件。注意这里用Errors集合显示消息,方法代码如下:
 
public static void InfoMessageHandler(object sender,SqlInfoMessageEventArgs Event)
{
Response.Write(“the following message was produced:\n”+Event.Errors[0]);
}
2、要监视事件,就要向这个事件注册事件处理器方法。
 
下面语句向SqlConnection对象的StateChange事件注册StateChangeHandler()方法
 
con.InfoMessage+=new SqlInfoMessageEventHandler(InfoMessageHandler);
// InfoMessageHandler为方法名称
SQL Server PRINT或RAISERROR语句在数据库中的用法:
PRINT ‘This is the message from the PRINT statement’
RAISERROR(‘This is the message from the RAISERROR statement’,10,1)
PRINT与RAISERROR语句的详细使用方法参考Transact-SQL

转载于:https://blog.51cto.com/chenxing/45004

ASP.NET基础教程-SqlConnection对象-使用连接事件相关推荐

  1. ASP.NET基础教程-DataView对象的属性、方法、枚举成员

    DataView对象用于通过过滤器查看DataTable对象中的特定行.也可以排序用DataView查看的行.可以增加.修改与删除DataView中的行,这些改变也适用于DataView将从中进行读取 ...

  2. ASP.NET基础教程-Server对象

    1. Server.MapPath()方法:获取ASP应用程序运行的物理绝对路径 例:Response.Write(Server.MapPath("")); //在页面上输出ASP ...

  3. 图书推荐:《ASP.NET.基础教程——C#案例版》

    本书结合用C#语言编写的可实际运行的示例代码,讨论了ASP.NET的构架.Web窗体.配置.HTTP管道.故障诊断和错误处理.验证.数据绑定.自定义控件.缓存.状态管理和安全性,阐述用C#构建基于We ...

  4. GSAP JS基础教程--动画的控制及事件

    好多天没有写无博文啦,今天无聊就再写一下! 今天要讲的是TweenLite的一些事件以及,TweenLite动画的控制,TweenMax类似,请自行参考官方文档:http://api.greensoc ...

  5. 2022年5月22日【Jiawei_Z】C# 基础教程---刘铁锰 02 委托 事件 继承

    C# 基础教程-刘铁锰 02 委托 事件 继承 多态 重写. 类–什么是类? P25 23节 - 是一种数据结构 - 是一种数据类型 - 代表世界中的"种类" namespace ...

  6. ASP.NET基础教程-DataTable类对象-属性方法和事件

    DataTable类对象可以表示表格,也可以在DataSet中存储多个DataTable对象. 该对象的属性方法和事件列表如下: 转载于:https://blog.51cto.com/chenxing ...

  7. Python基础教程:对象的方法

    1.对象的方法 其实可以看成是对象所拥有的函数. 调用对象的方法,和调用函数差不多,只要在前面加上 所属对象 和 一个点. 方法就可以看成是对象所拥有的函数.方法是属于这个对象的函数. # var是一 ...

  8. python基础教程:对象之间的交互

    先看看一般的类定义如下: class 类名:def __init__(self,参数1,参数2):self.对象的属性1 = 参数1self.对象的属性2 = 参数2def 方法名(self):pas ...

  9. ASP.NET基础教程-Web 自定义控件的使用-根据属性值从数据库中提取数据并在页面上自动生成一个表格...

    一.新建一个Web 控件库; 二.在WebCustomControl1.cs文件中编制如下代码: using System; using System.Web.UI; using System.Web ...

最新文章

  1. edge.js架起node.js和.net互操作桥梁
  2. Spark学习之路(二)
  3. VS2010 + Qt5.3.2配置教程
  4. linux网络编程-posix信号量与互斥锁(39)
  5. mysq对存在null值的字段排序
  6. PMCAFF | 别学东学西了,先建立自己的知识体系吧
  7. 实时计算 Flink性能调优
  8. 部署在ABAP Netweaver上的UI5应用,UI5库那些JavaScript的具体位置
  9. 树莓派4b自带wifi_树莓派4B日志二:WiFi远程配置与换源
  10. python的random模块怎么写_Python常用标准库之random模块
  11. C# XML加载屏蔽注释 忽略注释的加载
  12. 一个很烂的学生成绩管理系统
  13. Vscode代码量统计
  14. proteus8.0绘制元器件pcb封装
  15. 7-12 输出大写英文字母 (15 分)
  16. Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
  17. Linux 下屏幕旋转
  18. 基于DEM的GIS水文分析——河网与集水区域的提取
  19. Writeup For WeChall
  20. 【MyBatis】关联查询

热门文章

  1. node 常见的一些系统问题
  2. 四、jquery中的事件与应用
  3. 清楚xcode缓存(老是忘记所有记下来方便以后查阅)
  4. win7下计划任务schtasks使用详解及错误:无法加载列资源的解决方法1
  5. 【原】Ubuntu中安装 mercurial - TortoiseHG
  6. typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
  7. 使用 Flex 布局与其他普通布局的简单对比
  8. WPF 将Bitmapsource转换到Emgu.cv.image
  9. mastered skills
  10. android中使用DisplayMetrics获取屏幕参数