解决了c#捕获sql错误号的问题和将sql连接用application放在global中作全局变量问题

 解决了c#捕获sql错误号的问题和将sql连接用application放在global中作全局变 量问题

一、获取sql错误号

try
   {
    row = CmdObj.ExecuteNonQuery(); //执行sql语句
   }
   catch(SqlException e)
   {
    switch(e.Errors[0].Number)
    {
     case 547:
      page.Response.Write ( "<p><b>数据库中还没有建立这 </b><br>");
      return -1;
     case 2627:
      page.Response.Write ( "<p><b>中已经存在这一 </b><br>");
      return 0;
     default:
      page.Response.Write ( "<p><b>操作数据库出现其他错误! </b><br>");
      return -2;
    }

 发现一个捕获异常的技巧,有时不知道会发生具体哪种类型异常,可以将 catch的异常类型暂时设为Exception,
再利用Exception的GetType()函数输 出异常类型,这个类型就是具体的异常类型了.

二、 application存储web全局变量

//建立全局的连接对象

//在gloabal文件中

protected void Application_Start(Object sender, EventArgs e)
  {
   EntryFilePath = Server.MapPath ("Entries");

   //建立全局的连接对象
   Application["Con"] = new SqlConnection ("Data Source=Localhost;Initial Catalog=databasename;User ID=xxxxx;Pwd=");
  }

使用全局连接变量

String SqlCmd = "SELECT * FROM BookChapter WHERE (bookID = @bookID AND ChapterID = @chapterID)";

   //page.Application["Con"]是global里建立 的全局的连接对象,必须强制类型转换为SqlConnection类型
   SqlCommand CmdObj = new SqlCommand(SqlCmd, (SqlConnection)(Application["Con"]));
   ((SqlConnection)(Application["Con"])).Open();//注意括号的使用

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值