zoukankan      html  css  js  c++  java
  • ADO.NET朝花夕拾(三) 之DBHelper

    这个类大家肯定很熟悉了,但是知其然一定要知其所以然,希望该系列能让我回顾一下ADO.NET
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;

    namespace Food.DAL
    {
        
    public class DBHelper
        {


            
    private static string connectionString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;

            
    public static int ExecuteCommand(string safeSql)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(safeSql, con))
                    {
                        con.Open();
                        
    int result = cmd.ExecuteNonQuery();
                        
    return result;
                    }
                }

            }

            
    public static int ExecuteCommand(string sql, params SqlParameter[] values)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(values);
                        
    return cmd.ExecuteNonQuery();
                    }
                }

            }

            
    public static int GetScalar(string safeSql)
            {


                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(safeSql, con))
                    {
                        con.Open();
                        
    int result = Convert.ToInt32(cmd.ExecuteScalar());
                        
    return result;
                    }
                }
            }

            
    public static int GetScalar(string sql, params SqlParameter[] values)
            {

                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(values);
                        
    int result = Convert.ToInt32(cmd.ExecuteScalar());
                        
    return result;
                    }
                }

            }

            
    /// <summary>
            
    /// 查看新的数量
            
    /// </summary>
            
    /// <param name="sql"></param>
            
    /// <param name="values"></param>
            
    /// <returns></returns>
            public static object GetScalarWithNewCon(string sql, params SqlParameter[] values)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {

                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        cmd.Parameters.AddRange(values);
                        
    return cmd.ExecuteScalar();

                    }
                }
            }

            
    public static string GetScalarString(string sql)
            {

                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        
    string result = cmd.ExecuteScalar().ToString();
                        
    return result;
                    }
                }

            }

            
    public static SqlDataReader GetReader(string safeSql)
            {
                SqlConnection con 
    = new SqlConnection(connectionString);
                
    using (SqlCommand cmd = new SqlCommand(safeSql, con))
                {
                    con.Open();
                    SqlDataReader reader 
    = cmd.ExecuteReader();
                    
    return reader;
                }

            }

            
    public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
            {
                SqlConnection con 
    = new SqlConnection(connectionString);
                
    using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    con.Open();
                    cmd.Parameters.AddRange(values);
                    SqlDataReader reader 
    = cmd.ExecuteReader();
                    
    return reader;
                }


            }

            
    public static DataTable GetTable(string safeSql)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {

                    
    using (SqlCommand cmd = new SqlCommand(safeSql, con))
                    {
                        con.Open();
                        DataSet ds 
    = new DataSet();
                        SqlDataAdapter da 
    = new SqlDataAdapter(cmd);
                        da.Fill(ds);
                        
    return ds.Tables[0];
                    }
                }
            }


            
    public static DataTable GetTable(string sql, params SqlParameter[] values)
            {

                
    using (SqlConnection con = new SqlConnection(connectionString))
                {

                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        DataSet ds 
    = new DataSet();
                        cmd.Parameters.AddRange(values);
                        SqlDataAdapter da 
    = new SqlDataAdapter(cmd);
                        da.Fill(ds);
                        
    return ds.Tables[0];
                    }
                }

            }

            
    public static DataSet GetDataSet(string sql)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        DataSet ds 
    = new DataSet();
                        SqlDataAdapter da 
    = new SqlDataAdapter(cmd);
                        da.Fill(ds);
                        
    return ds;
                    }

                }

            }

            
    public static DataSet GetDataSet(string sql, params SqlParameter[] values)
            {

                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    
    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        DataSet ds 
    = new DataSet();
                        cmd.Parameters.AddRange(values);
                        SqlDataAdapter da 
    = new SqlDataAdapter(cmd);
                        da.Fill(ds);
                        
    return ds;
                    }

                }

            }




            
    /// <summary>
            
    /// 执行存储过程
            
    /// </summary>
            
    /// <param name="storedProcName"></param>
            
    /// <param name="parameters"></param>
            
    /// <returns></returns>
            public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
            {
                SqlConnection con 
    = new SqlConnection(connectionString);
                SqlDataReader returnReader;
                con.Open();
                SqlCommand command 
    = BuildQueryCommand(con, storedProcName, parameters);
                command.CommandType 
    = CommandType.StoredProcedure;

                returnReader 
    = command.ExecuteReader();
                
    return returnReader;
            }
            
    /// <summary>
            
    /// 执行存储过程
            
    /// </summary>
            
    /// <param name="storedProcName"></param>
            
    /// <param name="parameters"></param>
            
    /// <returns></returns>
            public static DataTable RunProcedureTable(string storedProcName, IDataParameter[] parameters)
            {
                
    using (SqlConnection con = new SqlConnection(connectionString))
                {
                    con.Open();
                    DataSet dsSet 
    = new DataSet();
                    SqlDataAdapter sqlDa 
    = new SqlDataAdapter(storedProcName, con);
                    sqlDa.SelectCommand.CommandType 
    = CommandType.StoredProcedure;
                    sqlDa.SelectCommand.Parameters.AddRange(parameters);
                    sqlDa.Fill(dsSet);

                    
    return dsSet.Tables[0];
                }
            }
            
    /// <summary>
            
    /// 为存储过程添加参数
            
    /// </summary>
            
    /// <param name="connection"></param>
            
    /// <param name="storedProcName"></param>
            
    /// <param name="parameters"></param>
            
    /// <returns></returns>
            private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
            {

                
    using (SqlCommand command = new SqlCommand(storedProcName, connection))
                {
                    command.CommandType 
    = CommandType.StoredProcedure;
                    
    if (parameters != null)
                    {
                        
    foreach (SqlParameter parameter in parameters)
                        {
                            command.Parameters.Add(parameter);
                        }
                    }
                    
    return command;
                }

            }

        }
    }
  • 相关阅读:
    BottomNavigationView3个项以上不显示文字的问题
    ViewPager中height=wrap_content无效,ScrollView里边用ListView显示不全解决办法
    Gson解析
    Parcelable Android SDK提供,基于内存,读写高于硬盘
    Serializable序列化 && 坑
    OpenStack中添加Floating IP
    Hadoop
    Redis
    ELK
    OpenStack
  • 原文地址:https://www.cnblogs.com/qixuejia/p/1659526.html
Copyright © 2011-2022 走看看