免费课程:Java初级教程视频――私塾在线提供
2012-02-07 10:48
1216 查看
封装SqlHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace Student_MI { /// <summary> /// 数据库助手类 /// </summary> public class SqlHelper { private SqlConnection conn = null;//表示一个到 SQL Server 数据库的打开的连接 private SqlCommand cmd = null; //表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程 private SqlDataReader sdr = null; //提供一种从 SQL Server 数据库读取行的只进流的方式 /// <summary> /// 连接数据库 /// </summary> public SqlHelper() { string connStr = "Data Source=.;Initial Catalog=StudentManager;Integrated Security=True"; conn = new SqlConnection(connStr); } /// <summary> /// 打开数据库连接 /// </summary> /// <returns></returns> private SqlConnection GetConn() { if (conn.State == ConnectionState.Closed) { conn.Open(); } return conn; } /// <summary> /// 执行不带参数的增删改SQL语句或存储过程 /// </summary> /// <param name="cmdText">增删改SQL语句或存储过程</param> /// <param name="ct">命令类型</param> /// <returns></returns> public int ExecuteNonQuery(string cmdText, CommandType ct)// CommandType命令类型 { int res; try { cmd = new SqlCommand(cmdText, GetConn());//向打开的数据库中插入执行命令 cmd.CommandType = ct; //设置要执行命令的类型 res = cmd.ExecuteNonQuery();//执行增删查改用到的方法,返回受影响的行数,是一个整数类型 } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态 { conn.Close(); } } return res; } /// <summary> /// 执行带参数的增删改SQL语句或存储过程 /// </summary> /// <param name="cmdText">增删改SQL语句或存储过程</param> /// <param name="ct">命令类型</param> /// <returns></returns> public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct) { int res; try { using (cmd = new SqlCommand(cmdText, GetConn())) { cmd.CommandType = ct; //cmd.Parameters的Add方法是增加一个参数,增加多个参数的的时候使用一个foreach循环而已 将指定的 SqlParameter 对象添加到 SqlParameterCollection 中 //cmd.Parameters的AddRange方法是增加一个参数的数组 将值数组添加到 SqlParameterCollection 的末尾 cmd.Parameters.AddRange(paras); res = cmd.ExecuteNonQuery();//执行增删查改用到的方法,返回受影响的行数,是一个整数类型 } } catch (Exception ex) { throw ex; } return res; } /// <summary> /// 执行查询SQL语句或存储过程 /// </summary> /// <param name="cmdText">查询SQL语句或存储过程</param> /// <param name="ct">命令类型</param> /// <returns>返回DataTable对象</returns> public DataTable ExecuteQuery(string cmdText, CommandType ct) { DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct; try { using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return dt; } /// <summary> /// 执行带参数的查询SQL语句或存储过程 /// </summary> /// <param name="cmdText">查询SQL语句或存储过程</param> /// <param name="paras">参数集合</param> /// <param name="ct">命令类型</param> /// <returns></returns> public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct) { DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct; cmd.Parameters.AddRange(paras); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } } }
相关文章推荐
- 免费课程:Java中级教程视频――私塾在线提供
- 免费课程:Java高级教程-理论部分视频――私塾在线提供
- 免费课程:Java高级教程-项目部分视频――私塾在线提供
- 项目视频讲解_Java私塾-Java初级项目(模拟银行系统)视频教程配套的PPT和演示代码
- Java Web开发理论部分视频――私塾在线提供
- Java Web开发-项目部分(中国移动科技综合管理系统)视频――私塾在线提供
- HP官方提供的LR在线基础视频教程
- 免费提供各种编程语言视频教程资料!(福利!)
- java activiti5 在线web流程设计器整合视频教程 SSM和独立部署
- java视频教程免费下载
- IT资源,技术资源,编程资源,Java视频教程资源【免费资源】
- 试看课程:spring 注解零配置――私塾在线提供
- java activiti5 在线web流程设计器整合视频教程 SSM和独立部署
- Android Java开发实例项目+游戏视频教程免费下载咯。。
- 干货!java经典面试套路精讲视频教程免费分享!
- java视频教程免费下载
- 160G 视频教程(Java+Android+项目视频)免费下载
- 试看课程:hibernate 注解零配置――私塾在线提供
- 干货!java经典面试套路精讲视频教程免费分享!
- Java经典视频初级到项目全套下载、在线学习