简易DataAccess类(未做任何异常判断)

临时版,尚未加注释

 

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace HRWeb
{
    
public class DataAccess
    {
        
private static string connectionString = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;

        
private static SqlConnection GetConnection()
        {
            SqlConnection conn 
= new SqlConnection(connectionString);
            
return conn;
        }

        
public static SqlDataReader ExcuteReader_SQL(string sql)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand(sql, conn);
            conn.Open();
            SqlDataReader reader 
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
            
//conn.Close(); //此句会报错:阅读器关闭时 FieldCount 的尝试无效。
            return reader;
        }

        
public static SqlDataReader ExcuteReader_SQL(string sql, SqlParameter[] parameters)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand(sql, conn);
            
for (int i = 0; i < parameters.Length; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            conn.Open();
            SqlDataReader reader 
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
            
return reader;
        }

        
public static DataSet ExcuteDataSet_SQL(string sql)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand(sql, conn);
            SqlDataAdapter adapter 
= new SqlDataAdapter(cmd);
            DataSet ds 
= new DataSet();
            conn.Open();
            adapter.Fill(ds);
            conn.Close();
            
return ds;
        }

        
public static int ExcuteNonQuery_Proc(string procName, SqlParameter[] parameters)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand();
            cmd.Connection 
= conn;
            cmd.CommandType 
= CommandType.StoredProcedure;
            cmd.CommandText 
= procName;
            
for (int i = 0; i < parameters.Length; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            conn.Open();
            
int n = cmd.ExecuteNonQuery();
            conn.Close();
            
return n;
        }

        
public static object ExcuteNonQuery_Proc_Return(string procName, SqlParameter[] parameters)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand();
            cmd.Connection 
= conn;
            cmd.CommandType 
= CommandType.StoredProcedure;
            cmd.CommandText 
= procName;
            
for (int i = 0; i < parameters.Length; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            conn.Open();
            
int n = cmd.ExecuteNonQuery();
            
object o = cmd.Parameters["@RETURN_VALUE"].Value;
            conn.Close();
            
return o;
        }

        
public static object ExcuteNonQuery_Proc_Output(string procName, SqlParameter[] parameters,string outName)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand();
            cmd.Connection 
= conn;
            cmd.CommandType 
= CommandType.StoredProcedure;
            cmd.CommandText 
= procName;
            
for (int i = 0; i < parameters.Length; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            conn.Open();
            
int n = cmd.ExecuteNonQuery();
            
object o = cmd.Parameters[outName].Value;
            conn.Close();
            
return o;
        }

        
public static object ExcuteScalar_SQL(string sql, SqlParameter[] parameters)
        {
            SqlConnection conn 
= GetConnection();
            SqlCommand cmd 
= new SqlCommand(sql, conn);
            
for (int i = 0; i < parameters.Length; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            conn.Open();
            
object o = cmd.ExecuteScalar();
            conn.Close();
            
return o;
        }
    }
}

posted on 2008-08-11 09:47  王丹小筑  阅读(282)  评论(0)    收藏  举报

导航