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( ...
随机推荐
- Python day01 课堂笔记
今天是第一天学习Python课程,主要从计算机基础,Python的历史,环境 ,变量,常量,注释,用户交互,基础数据类型 ,简单的if条件语句和while循环语句这几个来学习,重点的掌握内容是pyth ...
- count(*) count(1) count(column)的区别
count(1)中的1并不是指第一个column: count(*)和count(1)一样,包括对值为NULL的统计: count(column)不包括对值为NULL的统计,这里的column指的不是 ...
- java 路径问题
java路径存在两种写法"/"和"\\" String path="D:\\1.txt"; String path1="D:/1. ...
- TensorFlow Slim 的常用操作
https://blog.csdn.net/mzpmzk/article/details/81706379
- CSS3 表单
<form action="http://baidu.com"> <input type="text" placeholder="请 ...
- 实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署
最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...
- PySpark SQL 相关知识介绍
title: PySpark SQL 相关知识介绍 summary: 关键词:大数据 Hadoop Hive Pig Kafka Spark PySpark SQL 集群管理器 PostgreSQL ...
- 熔断监控Turbine
step1:修改hosts的ip地址映射,创建eureka集群 可参考:https://www.cnblogs.com/noneplus/p/11374883.html step2:创建服务提供者 p ...
- Go语言学习——如何实现一个过滤器
1.过滤器使用场景 做业务的时候我们经常要使用过滤器或者拦截器(听这口音就是从Java过来的).常见的场景如一个HTTP请求,需要经过鉴权过滤器.白名单校验过滤.参数验证过滤器等重重关卡最终拿到数据. ...
- unity编辑器扩展_04(使用Selection获取选择的游戏物体)
代码: [MenuItem("Tools/GetChance", false, 1)] static void GetChance() { if (Sel ...