博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#操作SQLServer的一个简单封装
阅读量:4310 次
发布时间:2019-06-06

本文共 2513 字,大约阅读时间需要 8 分钟。

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 }

 

转载于:https://www.cnblogs.com/xuzichao/p/9172893.html

你可能感兴趣的文章
suse如何修改ssh端口为2222?
查看>>
详细理解“>/dev/null 2>&1”
查看>>
suse如何创建定时任务?
查看>>
suse搭建ftp服务器方法
查看>>
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
查看>>
文件拷贝(IFileOperation::CopyItem)
查看>>
MapReduce的 Speculative Execution机制
查看>>
大数据学习之路------借助HDP SANDBOX开始学习
查看>>
Hadoop基础学习:基于Hortonworks HDP
查看>>
为什么linux安装程序 都要放到/usr/local目录下
查看>>
Hive安装前扫盲之Derby和Metastore
查看>>
永久修改PATH环境变量的几种办法
查看>>
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>