sql增删改查封装
2016-07-10 15:21
555 查看
App.config文件
sqlHelper封装类库代码
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <connectionStrings> <add connectionString="Data Source = .; Initial Catalog = mysql; Integrated Security = True;" name="conStr" /> </connectionStrings> </configuration>
sqlHelper封装类库代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //新建一个App.confit文件,引用下面两个命名空间 using System.Configuration; using System.Data.SqlClient; namespace 封装 { public class SqlHelper { //读取连接字符串 private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString; //三个方法,关键是第三个方法,查询,条件判断比较多 /// <summary> /// 此方法可以做增删改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="ps">sql语句中的参数</param> /// <returns>返回受影响的行数,int类型</returns> private static int ExecuteNonQuery(string sql, params SqlParameter[] ps) { using (SqlConnection con = new SqlConnection(str)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { con.Open(); if (ps != null) { cmd.Parameters.AddRange(ps); } return cmd.ExecuteNonQuery(); } } } /// <summary> /// 该方法用在查询上 /// </summary> /// <param name="sql">sql语句</param> /// <param name="ps">sql语句中的参数</param> /// <returns>返回首行首列,object类型</returns> private static object ExecuteScalar(string sql, params SqlParameter[] ps) { using (SqlConnection con = new SqlConnection(str)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { con.Open(); if (ps != null) { cmd.Parameters.AddRange(ps); } return cmd.ExecuteScalar(); } } } /// <summary> /// 该方法用于查询,读数据 /// </summary> /// <param name="sql">sql语句</param> /// <param name="ps">sql语句中的参数</param> /// <returns>返回sqldatareader对象,里面有数据</returns> private static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps) { //这地方不用using,因为不知道什么时候释放 SqlConnection con = new SqlConnection(str); using (SqlCommand cmd = new SqlCommand(sql,con)) { if (ps!=null) { cmd.Parameters.AddRange(ps); } try { con.Open(); //这个重载会datareader关闭时,自动关闭connection return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); } catch (Exception ex) { con.Close(); con.Dispose(); throw ex; } } } } }
相关文章推荐
- SQL取得列的类型
- 数据库的原子性
- SQL语法总结
- memcached 安装
- mysql:添加索引
- SQL实现分页
- Redis(五):关于过期键(3)持久化及主从复制对过期键的处理
- 分布式缓存的学习(memcached,JBoss Cache)
- Oracle的PL/SQL编程
- MYSQL的笔记
- Redis(五):关于过期键(2)过期键的删除
- Hibernate 笔记4 实现对数据库的增删改查
- Redhat 6.2 下 oracle 11g R2的安装详解第1/2页
- mysql中,写limit得记得排序
- Python 连接MongoDB数据库手札(PyMongo)
- Redis(五):关于过期键(1)过期键的设置、获取和删除过期时间
- 一个简单的后台与数据库交互的登录与注册[sql注入处理、以及MD5加密]
- 【Security】数据库审计(AUDIT)功能概述
- 把excel中的数据导入到数据库
- Redis(四):持久化之---RDB持久化的配置和原理