zoukankan      html  css  js  c++  java
  • C#操作SQLServer的一个简单封装

     1 class DBHandler {
     2 
     3     //SqlConnection数据库连接对象
     4     private SqlConnection localConnection = null;
     5 
     6     //构造函数中初始化连接对象,传入数据库服务名,数据库实例名,用户名和密码
     7     public DBHandler(string server, string dataBase, string id, string pwd) { 
     8         String connectionString = "Data Source=" + server + ";Initial Catalog=" + dataBase
     9                                 + ";User ID=" + id + ";Password=" + pwd;
    10         this.localConnection = new SqlConnection(connectionString);
    11     }
    12 
    13     //创建对象后调用该方法判断是否能够成功连接
    14     public int checkValidate(ref string errMsg) {
    15         try {
    16             this.localConnection.Open();
    17         } catch (Exception ex) {
    18             errMsg = "[Connecting failed]" + ex.Message;
    19             return -1;
    20         }
    21         return 0;
    22     }
    23 
    24     //操作数据库前调用
    25     private void prepareConnect() {
    26         switch (this.localConnection.State) {
    27             case ConnectionState.Broken:
    28                 this.localConnection.Close(); //先正常关闭,释放资源
    29                 this.localConnection.Open();
    30                 break;
    31             case ConnectionState.Closed:
    32                 this.localConnection.Open();
    33                 break;
    34             case ConnectionState.Connecting:
    35                 break;
    36             case ConnectionState.Executing:
    37                 break;
    38             case ConnectionState.Fetching:
    39                 break;
    40             case ConnectionState.Open:
    41                 break;
    42             default:
    43                 break;
    44         }
    45     }
    46 
    47     //执行Update语句,返回更新的行数
    48     public int doUpdate(string sql, ref string errMsg) {
    49         prepareConnect();
    50         SqlCommand localCommand = new SqlCommand();
    51         localCommand.CommandText = sql;
    52         localCommand.Connection = this.localConnection;
    53         try {
    54             return localCommand.ExecuteNonQuery();
    55         } catch (Exception ex) {
    56             errMsg = "[update error]" + ex.Message;
    57             return -1;
    58         }
    59     }
    60 
    61     //执行Select语句,返回DataTable结果集
    62     public void doSelect(string sql, ref DataTable dataTable, ref string errMsg) {
    63         prepareConnect();            
    64         try {
    65             SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, this.localConnection);
    66             dataTable.Clear();
    67             dataAdapter.Fill(dataTable);
    68         } catch (Exception ex) {
    69             errMsg = "[select error]" + ex.Message;
    70         }
    71     }
    72     
    73 }
  • 相关阅读:
    省选后蛤蛤纪事
    About me
    第一篇blog
    震惊!山东一高中生学习锯木板,原因竟是...
    斯特林数相关
    省选后数学学习
    SDOI 2020游记
    奶茶推荐
    Goodbye 2019
    golang 并发锁的陷阱
  • 原文地址:https://www.cnblogs.com/xuzichao/p/9172893.html
Copyright © 2011-2022 走看看