sqlhelper

来源:互联网 发布:玫琳凯2号面膜淘宝网 编辑:程序博客网 时间:2024/04/28 06:41

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

namespace DAL
{
    public class SQLHelp
 {
        private static string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

  public static string ConnString
  {
   get { return connString; }
  }

  public static int ExecuteNonQuery(string text, CommandType type, params SqlParameter[] parameters)
  {
   using (SqlConnection con = new SqlConnection(connString))
   {
    SqlCommand cmd = PrepareCommand(con, null, text, type, parameters);
    int val = cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    return val;
   }
  }

  public static int ExecuteScalar(string text, CommandType type, params SqlParameter[] parameters)
  {
   using (SqlConnection con = new SqlConnection(connString))
   {
    SqlCommand cmd = PrepareCommand(con, null, text, type, parameters);
    int val = (int)cmd.ExecuteScalar();
    cmd.Parameters.Clear();
    return val;
   }
  }

  public static int ExecuteNonQuery(SqlTransaction trans, string text, CommandType type, params SqlParameter[] parameters)
  {
   SqlCommand cmd = PrepareCommand(trans.Connection, trans, text, type, parameters);
   int val = cmd.ExecuteNonQuery();
   cmd.Parameters.Clear();
   return val;
  }

  public static SqlDataReader ExecuteReader(string text, CommandType type, params SqlParameter[] parameters)
  {
   SqlConnection con = new SqlConnection(connString);
   try
   {
    SqlCommand cmd = PrepareCommand(con, null, text, type, parameters);
    SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    cmd.Parameters.Clear();
    return dr;
   }
   catch
   {
    con.Close();
    throw;
   }

  }

  private static SqlCommand PrepareCommand(SqlConnection con, SqlTransaction trans, string text, CommandType type, SqlParameter[] parameters)
  {
   SqlCommand cmd = new SqlCommand();
   cmd.Connection = con;
   cmd.CommandType = type;
   cmd.CommandText = text;

   if (con.State != ConnectionState.Open)
   {
    con.Open();
   }

   if (null != trans)
   {
    cmd.Transaction = trans;
   }
   if (null != parameters)
   {
    foreach (SqlParameter parm in parameters)
    {
     cmd.Parameters.Add(parm);
    }
   }
   return cmd;
  }
        public static DataTable SelectIntoTable(string text, CommandType type, params SqlParameter[] parameters)
        {
            SqlConnection con = new SqlConnection(connString);
            SqlCommand cmd = PrepareCommand(con, null, text, type, parameters);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataSet dt = new DataSet();
            adapter.Fill(dt);
            con.Close();
            return dt.Tables[0];
       
            //return dt;
        }
   
    }
}