关闭

手写一个SqlHelper

标签: ASP.NETSqlServer
379人阅读 评论(0) 收藏 举报


public static class SqlHelper
    {
        public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;


        public static int ExecuteNonQuery(string cmdText)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }


        public static int ExecuteNonQuery(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    if (cmdParms != null)
                        cmd.Parameters.AddRange(cmdParms);
                    cmd.CommandType = cmdType;
                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }


        public static int ExecuteNonQuery(SqlCommand cmd, CommandType cmdType)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                cmd.CommandType = cmdType;
                cmd.Connection = conn;
                conn.Open();
                return cmd.ExecuteNonQuery();
            }
        }




        public static object ExecuteScalar(string cmdText)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    conn.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }


        public static object ExecuteScalar(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    cmd.CommandType = cmdType;
                    if (cmdParms != null)
                        cmd.Parameters.AddRange(cmdParms);
                    conn.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }


        public static object ExecuteScalar(SqlCommand cmd, CommandType cmdType)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                cmd.CommandType = cmdType;
                cmd.Connection = conn;
                conn.Open();
                return cmd.ExecuteScalar();
            }
        }


        public static SqlDataReader ExecuteReader(string cmdText)
        {
            SqlConnection conn = new SqlConnection(connstr);
            using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            {
                try
                {
                    conn.Open();
                    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch
                {//可能会出现异常,没有using,必须手动关闭
                    conn.Close();
                    conn.Dispose();
                    throw;
                }
            }
        }


        public static SqlDataReader ExecuteReader(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
        {
            SqlConnection conn = new SqlConnection(connstr);
            using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            {
                cmd.CommandType = cmdType;
                if (cmdParms != null)
                    cmd.Parameters.AddRange(cmdParms);
                try
                {                    
                    conn.Open();
                    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch
                {//可能会出现异常,没有using,必须手动关闭
                    conn.Close();
                    conn.Dispose();
                    throw;
                }
            }
        }


        public static SqlDataReader ExecuteReader(SqlCommand cmd, CommandType cmdType)
        {
            SqlConnection conn = new SqlConnection(connstr);
            cmd.CommandType = cmdType;
            cmd.Connection = conn;
            try
            {
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch
            {
                conn.Close();
                conn.Dispose();
                throw;
            }
        }


        public static DataTable GetDataTable(string cmdText)
        {


            DataTable set = new DataTable();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlDataAdapter adp = new SqlDataAdapter(cmdText, conn))
                {
                    adp.Fill(set);
                    return set;
                }
            }
        }


        public static DataTable GetDataTable(string cmdText, CommandType cmdType, SqlParameter[] cmdParms)
        {
            DataTable set = new DataTable();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlDataAdapter adp = new SqlDataAdapter(cmdText, conn))
                {
                    adp.SelectCommand.CommandType = cmdType;
                    if(cmdParms != null)
                        adp.SelectCommand.Parameters.AddRange(cmdParms);
                    adp.Fill(set);
                    return set;
                }
            }
        }


        public static DataTable GetDataTable(SqlCommand cmd, CommandType cmdType)
        {
            DataTable set = new DataTable();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                cmd.Connection = conn;
                cmd.CommandType = cmdType;
                using (SqlDataAdapter adp = new SqlDataAdapter(cmd))
                {
                    adp.Fill(set);
                    return set;
                }
            }
        }


        public static DataSet GetDataSet(string sqlstr)
        {
            DataSet set = new DataSet();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlDataAdapter adp = new SqlDataAdapter(sqlstr, conn))
                {
                    adp.Fill(set);
                    return set;
                }
            }
        }


        public static DataSet GetDataSet(string sqlstr, string tableName)
        {
            DataSet set = new DataSet();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlDataAdapter adp = new SqlDataAdapter(sqlstr, conn))
                {
                    adp.Fill(set, tableName);
                    return set;
                }
            }
        }


        public static DataSet GetDataSet(SqlCommand cmd, CommandType cmdType, string tableName)
        {
            DataSet set = new DataSet();
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                cmd.Connection = conn;
                cmd.CommandType = cmdType;
                using (SqlDataAdapter adp = new SqlDataAdapter(cmd))
                {
                    adp.Fill(set, tableName);
                }
            }
            return set;
        }
    }

0
0
查看评论

ASP.NET的SQLHelper最佳写法

using System; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace Common {     public sealed class SQLHe...
  • u013538542
  • u013538542
  • 2015-03-25 11:39
  • 528

黑马程序员——手写SQLHelper

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Configuration; using ...
  • WayToAccept
  • WayToAccept
  • 2014-03-15 15:51
  • 645

SqlHelper,增加返回实体集合

using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collections; using System.Configuration; namespace...
  • qq_17255515
  • qq_17255515
  • 2016-10-20 17:05
  • 1960

SqlHelper sql的连接 加增删改查

转自:http://blog.csdn.net/mayanly/article/details/6049668 SqlHelper sql的连接 加增删改查 using System; using System.Collections.Generic; using System....
  • chelen_jak
  • chelen_jak
  • 2015-04-02 08:37
  • 1939

手写json的坑

业务需求,要手动修改部分json. 前工程师因为手误少写了}以及单引号双引号混用。导致一直解析失败。}好找,单引号双引号不好找。 总之,以后尽可能不要手写json,写个数组丢进去丢出来直接复制粘贴吧。
  • zhengwish
  • zhengwish
  • 2017-04-11 11:05
  • 804

浅析Spring原理,手写一个简单的Spring

Spring架构的核心其实就是IOC(控制反转)
  • qq_20805103
  • qq_20805103
  • 2017-08-26 22:17
  • 443

【C#】 简单的SQLHelper

public class SQLHelper { private string m_SqlConnectionString = ""; private SqlConnection conn = null; public S...
  • yueguangzhiyuan
  • yueguangzhiyuan
  • 2014-03-03 14:54
  • 758

【手写排序算法及优化】冒泡排序

c++代码 #include void Print(int A[],int len) { for(int i=0;i { cout } cout } void BubbleSort(int A[], int len) { int i,j,temp; int flag; for(i=0;i {...
  • wuqiuping695
  • wuqiuping695
  • 2015-03-28 21:42
  • 787

SQLHelper类方法介绍及简单使用

引言做.NET开发的话,想必大家对SQLHelper.cs这个类都不会陌生。很早之前微软就发布了SQLHelper.cs,如果想要了解它的详细信息可以参考我的另一篇博客:http://blog.csdn.net/u013201439/article/details/50700111。 SQLHel...
  • u013201439
  • u013201439
  • 2016-06-26 16:55
  • 3975

手写全排列(递归 | 非递归)

以下内容转自:点击打开链接 用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,  如 abc 的全排列: abc, acb, bca, dac, cab, cba   一.全排列的递归实现 为方便起见,用...
  • u013351484
  • u013351484
  • 2015-06-13 16:38
  • 565
    个人资料
    • 访问:73012次
    • 积分:1118
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:17篇
    • 译文:0篇
    • 评论:12条
    最新评论