C#操作SQLServer的一个简单封装
class DBHandler {
//SqlConnection数据库连接对象
private SqlConnection localConnection = null;
//构造函数中初始化连接对象,传入数据库服务名,数据库实例名,用户名和密码
public DBHandler(string server, string dataBase, string id, string pwd) {
String connectionString = "Data Source=" + server + ";Initial Catalog=" + dataBase
+ ";User ID=" + id + ";Password=" + pwd;
this.localConnection = new SqlConnection(connectionString);
}
//创建对象后调用该方法判断是否能够成功连接
public int checkValidate(ref string errMsg) {
try {
this.localConnection.Open();
} catch (Exception ex) {
errMsg = "[Connecting failed]" + ex.Message;
return -;
}
return ;
}
//操作数据库前调用
private void prepareConnect() {
switch (this.localConnection.State) {
case ConnectionState.Broken:
this.localConnection.Close(); //先正常关闭,释放资源
this.localConnection.Open();
break;
case ConnectionState.Closed:
this.localConnection.Open();
break;
case ConnectionState.Connecting:
break;
case ConnectionState.Executing:
break;
case ConnectionState.Fetching:
break;
case ConnectionState.Open:
break;
default:
break;
}
}
//执行Update语句,返回更新的行数
public int doUpdate(string sql, ref string errMsg) {
prepareConnect();
SqlCommand localCommand = new SqlCommand();
localCommand.CommandText = sql;
localCommand.Connection = this.localConnection;
try {
return localCommand.ExecuteNonQuery();
} catch (Exception ex) {
errMsg = "[update error]" + ex.Message;
return -;
}
}
//执行Select语句,返回DataTable结果集
public void doSelect(string sql, ref DataTable dataTable, ref string errMsg) {
prepareConnect();
try {
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, this.localConnection);
dataTable.Clear();
dataAdapter.Fill(dataTable);
} catch (Exception ex) {
errMsg = "[select error]" + ex.Message;
}
}
}
C#操作SQLServer的一个简单封装的更多相关文章
- 我的Android进阶之旅------>Android关于Log的一个简单封装
android.util.Log类,可以方便地用于在编码调试过程中打印日志.但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能.对android.util.Log类做一个简单的封装,当产品 ...
- 我的Android进阶之旅------>Android关于Log的一个简单封装
android.util.Log类,能够方便地用于在编码调试过程中打印日志. 可是在公布后的产品中,假设有太多的日志打印.则会严重地影响性能. 对android.util.Log类做一个简单的封装.当 ...
- c# 操作monogodb的一些简单封装
public interface IDataBaseCore { } public class BasicData : IDataBaseCore { } public class Filter ...
- C++ 文件流的方式操作文件(一个简单的写入,读取)
新手学习c++哈,归纳的写了一下以 C++ 的方式写入读取文件,读文件到控制台,并加了行号.博客记录主要为了备忘.当然 ^_^ 喜欢同学的话可以拿走代码直接用.转帖注明出处哈.欢迎讨论,我一直认为:知 ...
- 使用asp.net mvc + entityframework + sqlServer 搭建一个简单的code first项目
步骤: 1. 创建一个asp.net mvc 项目 1.1 项目创建好结构如下 2 通过vs安装EntityFramework框架 install-package entityframework 3. ...
- 我的Android进阶之旅------>Android关于Activity管理的一个简单封装
怎样管理当前的执行Activity栈,怎样彻底退出程序.本文封装了一个Activity管理类,能够方便随时退出程序. import java.util.Stack; import android.ap ...
- 我的Android进阶之旅------>Android关于Activity管理的一个简单封装
用一个集合类对所有的Activity进行管理,实现随时控制Activity.用add(Activity activity)方法向List中添加Activity,用remove(Activity act ...
- Spring jdbc 对象Mapper的简单封装
一般查询实体的时候,都需要这么使用/** * 根据id查询 * * @return */ public Emp queryEmpById(Intege ...
- 如何用C++封装一个简单的数据流操作类(附源码),从而用于网络上的数据传输和解析?
历史溯源 由于历史原因,我们目前看到的大部分的网络协议都是基于ASCII码这种纯文本方式,也就是基于字符串的命令行方式,比如HTTP.FTP.POP3.SMTP.Telnet等.早期操作系统UNIX( ...
随机推荐
- 使用.Net Core CLI命令dotnet new创建自定义模板
文章起源来自一篇博客:使用 .NET CORE 创建 项目模板,模板项目,Template - DeepThought - 博客园 之前使用Abp的时候就很认同Abp创建模板项目的方式.想不到.Net ...
- 基于HttpClient4.5.1实现Http访问工具类
本工具类基于httpclient4.5.1实现 <dependency> <groupId>org.apache.httpcomponents</groupId> ...
- CNN卷积中多通道卷积的参数问题
通俗来讲参数[5,5,3,16],就是用16个卷积核的每一个,分别对3通道进行对应位置,对应3通道的乘积,再加和,输出作为一个输出核的对应位置,知道16个核全部完成. 下图是一个3d的RGB效果,每个 ...
- 安装tomcat出现的问题
今天在安装tomcat时出现了配置环境不对的问题. 在正确配置Tomcat环境变量后,遇到很多次运行startup.bat后,一个窗口一闪而过的. 解决方法: 1.在tomcat的目录下选中start ...
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(2)-业务项目搭建
本节将介绍如何进行业务项目搭建. 本业务项目示例是简单的企业信息管理功能,业务项目采用Code First方式,搭建包括: 创建实体项目 创建实体数据表映射 创建业务处理项目 创建业务Web项目 搭建 ...
- HDU 2147
题意略. 思路: 题中提到的3种操作,一个是将长方形的n减少1,一个是将m减少1,一个是将n和m同时减少1,都是将长方形规模减少的的操作. 现在我们可以知道,(1,1)先手必输:(1,2),(2,1) ...
- pytest-html报告修改与汉化
前言 Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近 ...
- 你好spring-cloud-kubernetes
关于spring-cloud-kubernetes spring-cloud-kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用 ...
- 牛客-2018多校算法第五场D-集合问题+并查集
集合问题 题意: 给你a,b和n个数p[i],问你如何分配这n个数给A,B集合,并且满足: 若x在集合A中,则a-x必须也在集合A中. 若x在集合B中,则b-x必须也在集合B中. 思路:并查集操作,自 ...
- POJ-3660 Cow Contest( 最短路 )
题目链接:http://poj.org/problem?id=3660 Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, ar ...