一个很好用的DBHelper类(包括使用SQL语句 存储过程 事务 做相关操作) 入门级
2015-01-03 21:32
603 查看
话不多少 直接贴代码
需引入的命名空间
需引入的命名空间
定义连接属性
SQL连接对象
做查询(包括sql语句和带参数的SQL语句)
查询
做增删改(包括sql语句和带参数的SQL语句)
增删改
执行聚合函数(包括sql语句和带参数的SQL语句)
执行聚合函数
执行存储过程做增删改
执行存储过程做增删改
执行事物(ADO.NET)
执行事物(ADO.NET)
执行存储过程做增删改
执行存储过程做增删改
执行存储过程做增删改
执行存储过程做增删改
需引入的命名空间
需引入的命名空间
定义连接属性
SQL连接对象
private SqlConnection conn; public SqlConnection Conn { get { if (conn == null) { string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; conn = new SqlConnection(connStr); } if (conn.State == ConnectionState.Closed) conn.Open(); if (conn.State == ConnectionState.Broken) { conn.Close(); conn.Open(); } return conn; } }
做查询(包括sql语句和带参数的SQL语句)
查询
//查询:DataReader public SqlDataReader GetReader(string sql) { SqlCommand cmd = new SqlCommand(sql, Conn); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } public SqlDataReader GetReader(string sql,SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(sql, Conn); cmd.Parameters.AddRange(paras); return cmd.ExecuteReader(CommandBehavior.CloseConnection); }
//查询:DataTable public DataTable GetTable(string sql) { SqlDataAdapter dap = new SqlDataAdapter(sql, Conn); DataTable dt = new DataTable(); dap.Fill(dt); conn.Close(); return dt; } public DataTable GetTable(string sql, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(sql, Conn); cmd.Parameters.AddRange(paras); SqlDataAdapter dap = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); dap.Fill(dt); conn.Close(); return dt; }
做增删改(包括sql语句和带参数的SQL语句)
增删改
//增改删 public bool ExecuteNoQuery(string sql) { SqlCommand cmd = new SqlCommand(sql, Conn); int result = cmd.ExecuteNonQuery(); this.conn.Close(); return result > 0; } public bool ExecuteNoQuery(string sql, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(sql, Conn); cmd.Parameters.AddRange(paras); int result = cmd.ExecuteNonQuery(); this.conn.Close(); return result > 0; }
执行聚合函数(包括sql语句和带参数的SQL语句)
执行聚合函数
//执行聚合函数 public object ExecuteScalar(string sql) { SqlCommand cmd = new SqlCommand(sql, Conn); object result = cmd.ExecuteScalar(); this.conn.Close(); return result; } public object ExecuteScalar(string sql, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(sql, Conn); cmd.Parameters.AddRange(paras); object result = cmd.ExecuteScalar(); this.conn.Close(); return result; }
执行存储过程获取数据集(包括sql语句和带参数的SQL语句) <img alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" style="border: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px;" /><span class="cnblogs_code_collapse" style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px;">执行存储过程获取数据集(查询)</span> //执行存储过程获取数据集(查询) public DataTable ExecuteProcSelect(string ProcName, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(ProcName, Conn); cmd.Parameters.AddRange(paras); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter dap = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); dap.Fill(dt); this.conn.Close(); return dt; }
执行存储过程做增删改
执行存储过程做增删改
//执行存储过程做增删改 public bool ExecuteProcUpdate(string ProcName, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(ProcName, Conn); cmd.Parameters.AddRange(paras); cmd.CommandType = CommandType.StoredProcedure; int result = cmd.ExecuteNonQuery(); this.conn.Close(); return result > 0; }
执行事物(ADO.NET)
执行事物(ADO.NET)
//执行事物(ADO.NET) public bool ExecuteTrasaction(string sqlStr, string TranName) { bool result = true; SqlTransaction tran = null; try { tran = Conn.BeginTransaction(TranName); SqlCommand cmd = new SqlCommand(sqlStr, Conn, tran); int n = cmd.ExecuteNonQuery(); if (n > 0) { tran.Commit(); result = true; } else { tran.Rollback(); result = false; } } catch { tran.Rollback(); result = false; } return result; }
执行存储过程做增删改
执行存储过程做增删改
//执行存储过程做增删改 public bool ExecuteProcUpdate(string ProcName, SqlParameter[] paras) { SqlCommand cmd = new SqlCommand(ProcName, Conn); cmd.Parameters.AddRange(paras); cmd.CommandType = CommandType.StoredProcedure; int result = cmd.ExecuteNonQuery(); this.conn.Close(); return result > 0; }
执行存储过程做增删改
执行存储过程做增删改
相关文章推荐
- 自己实现一个SQL解析引擎 功能:将用户输入的SQL语句序列转换为一个可执行的操作序列,并返回查询的结果集。 SQL的解析引擎包括查询编译与查询优化和查询的运行,主要包括3个步骤: 查询分析
- 执行一个SQL语句或者存储过程(无事务控制),返回一个内存表
- sql语句实现数据库的操作(包括角色、权限、用户、存储过程)
- 创建数据库、表、主外键、各种约束、存储过程、视图、索引、事务使用、触发器、创建登录账号、数据库用户 Sql语句示例
- "执行SQL语句时出现问题操作必须使用一个可更新的查询"错误的解决方法
- 用sql语句实现数据库的操作(包括角色、权限、用户、存储过程)
- 一个简单的存储过程(实现事务执行两个sql语句,修改可实现执行更多条sql语句)
- 使用事务操作SQLite数据库和一些常用的SQL语句
- 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- 公司里实习写的一个存储过程,复习太多数SQL语句:)
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- NHibernate问题 flush-mode 一个事务中重复提交更新的SQL语句
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 关于统计的一个sql问题,使用动态sql语句实现。
- 不创建表结构,直接放入临时表结果(包括存储过程,直接sql语句)
- 一个项目中使用到的通用函数库(5) 汉字相关操作
- mssql:t-sql;创建表;给表添加约束;使用变量;事务,索引,视图;存储过程;触发器trigger;播放器http://www.smartgz.com/blog/Article/956.asp
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- 又一个通用分页存储过程,支持表别名,多表联合查询SQL语句