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];
            }
        }
    }
  • 相关阅读:
    中国移动 使用Linux、OpenStack
    【 【henuacm2016级暑期训练】动态规划专题 K】 Really Big Numbers
    【【henuacm2016级暑期训练】动态规划专题 J】Red-Green Towers
    【【henuacm2016级暑期训练】动态规划专题 I】Gargari and Permutations
    【【henuacm2016级暑期训练】动态规划专题 H】Greenhouse Effect
    【 【henuacm2016级暑期训练】动态规划专题 G】 Palindrome pairs
    【【henuacm2016级暑期训练】动态规划专题 F】Physics Practical
    【【henuacm2016级暑期训练】动态规划专题 E】Destroying Roads
    【【henuacm2016级暑期训练】动态规划专题 D】Writing Code
    【henuacm2016级暑期训练-动态规划专题 C】Little Girl and Maximum XOR
  • 原文地址:https://www.cnblogs.com/Arlar/p/4923797.html
Copyright © 2011-2022 走看看