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];
            }
        }
    }
  • 相关阅读:
    MySQL 连接 触发器 函数 视图 存储过程
    Django的ORM2
    nmp安装vuejs
    Docker 技术入门与实践(第3版)笔记
    docker官方 入门
    centos 各目录介绍
    阿里云es 安装docker
    linux命令
    centos 7 mini 安装青岛OJ
    leetcode_304. 二维区域和检索
  • 原文地址:https://www.cnblogs.com/Arlar/p/4923797.html
Copyright © 2011-2022 走看看