zoukankan      html  css  js  c++  java
  • 手写工具之——SQLHelper

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Data;
    
    /// <summary>
    ///     SQL帮助器
    /// </summary>
    public class SQLHelper
    {
        private static string ConnStr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
    
        //增删改(insert、delete、update)
        public static int DoNonQuery(string sql, List<SqlParameter> ps = null)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (ps != null) {
                    cmd.Parameters.AddRange(ps.ToArray());
                }
                int RowsAffectedCount = cmd.ExecuteNonQuery();
                conn.Close();
    
                return RowsAffectedCount;
            }
        }
    
        //增删改(insert、delete、update)
        public static int DoNonQuery(string sql, params SqlParameter[] ps)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr)) 
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (ps != null) {
                    cmd.Parameters.AddRange(ps);
                }
                int RowsAffectedCount = cmd.ExecuteNonQuery();
                conn.Close();
    
                return RowsAffectedCount;
            }
        }
    
        //取单行单列对象(insert、select)
        public static object DoScalar(string sql, List<SqlParameter> ps = null)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (ps != null) {
                    cmd.Parameters.AddRange(ps.ToArray());
                }
                object ScalarObj = cmd.ExecuteScalar();
                conn.Close();
    
                return ScalarObj;
            }
        }
    
        //取单行单列对象(insert、select)
        public static object DoScalar(string sql, params SqlParameter[] ps)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr)) {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (ps != null) {
                    cmd.Parameters.AddRange(ps);
                }
                object ScalarObj = cmd.ExecuteScalar();
                conn.Close();
    
                return ScalarObj;
            }
        }
    
        //断开式取DataTable对象(select)
        public static DataTable DoDataTable(string sql, List<SqlParameter> ps = null)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr))
            {
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                if (ps != null) {
                    da.SelectCommand.Parameters.AddRange(ps.ToArray());
                }
                DataSet ds = new DataSet();
                da.Fill(ds);
                conn.Close();
    
                return ds.Tables[0];
            }
        }
    
        //断开式取DataTable对象(select)
        public static DataTable DoDataTable(string sql, params SqlParameter[] ps)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr)) 
            {
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                if (ps != null) {
                    da.SelectCommand.Parameters.AddRange(ps);
                }
                DataSet ds = new DataSet();
                da.Fill(ds);
                conn.Close();
    
                return ds.Tables[0];
            }
        }
    
        /*
         * 下面两个方法新加,未测试
         */
    
        //连接式读取数据(select)
        public static SqlDataReader DoReader(string sql, List<SqlParameter> ps = null)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr)) 
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (ps != null) {
                    cmd.Parameters.AddRange(ps.ToArray());
                }
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                conn.Close();
    
                return dr;
            }
        }
    
        //存储过程式取DataTable对象
        public static DataTable DoProcedure(string sql, List<SqlParameter> ps = null)
        {
            using (SqlConnection conn = new SqlConnection(ConnStr)) 
            {
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                //设定命令类型
                da.SelectCommand.CommandType = CommandType.StoredProcedure;
                if (ps != null) {
                    da.SelectCommand.Parameters.AddRange(ps.ToArray());
                }
                DataSet ds = new DataSet();
                da.Fill(ds);
                conn.Close();
    
                return ds.Tables[0];
            }
        }
    }
  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/Arlar/p/4923797.html
Copyright © 2011-2022 走看看