C#数据查询帮助类

来源:互联网 发布:机票预订 知乎 编辑:程序博客网 时间:2024/05/16 18:42
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Collections;namespace WOffice.DAL{         ///   创建人:jack     ///   version 1.2    public static class DBHelper    {        private static SqlConnection connection;        public static SqlConnection Connection        {            get             {                string connectionString = "server=.;database=myoffice;uid=sa;pwd=wcj";//ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;                if (connection == null)                {                    connection = new SqlConnection(connectionString);                    connection.Open();                }                else if (connection.State == ConnectionState.Closed)                {                    connection.Open();                }                else if (connection.State == ConnectionState.Broken)                {                    connection.Close();                    connection.Open();                }                return connection;            }        }                /// <summary>        /// 执行一个增删改存储过程(有参)        /// </summary>        /// <param name="procName">存储过程名字</param>        /// <param name="values">参数列表</param>        /// <returns>影响行数</returns>        public static int ExecuteProc(string procName, params SqlParameter[] values)        {            SqlCommand cmd = new SqlCommand();            cmd.Connection = Connection;            cmd.CommandText = procName;            cmd.CommandType = CommandType.StoredProcedure;            cmd.Parameters.AddRange(values);            int i= cmd.ExecuteNonQuery();            Connection.Close();            return i;        }        /// <summary>        /// 执行一个无参增删改存储过程        /// </summary>        /// <param name="procName">存储过程名字</param>        /// <returns>影响行数</returns>        public static int ExecuteProc(string procName)        {            SqlCommand cmd = new SqlCommand();            cmd.Connection = Connection;            cmd.CommandText = procName;            cmd.CommandType = CommandType.StoredProcedure;            int i = cmd.ExecuteNonQuery();            Connection.Close();            return i;        }        /// <summary>        /// 执行一个(无参)增删改语句        /// </summary>        /// <param name="safeSql">语句</param>        /// <returns>影响行数</returns>        public static int ExecuteCommand(string safeSql)        {            SqlCommand cmd = new SqlCommand(safeSql, Connection);            int result = cmd.ExecuteNonQuery();            Connection.Close();            return result;        }        /// <summary>        /// 执行一个有参增删改操作        /// </summary>        /// <param name="sql">语句</param>        /// <param name="values">参数</param>        /// <returns>影响行数 </returns>        public static int ExecuteCommand(string sql, params SqlParameter[] values)        {            SqlCommand cmd = new SqlCommand(sql, Connection);            cmd.Parameters.AddRange(values);            int i = cmd.ExecuteNonQuery();            Connection.Close();            return i;        }        /// <summary>        /// 查询第一行第一列数据(无参)(返回的是什么类型就转换成什么类型)        /// </summary>        /// <param name="safeSql">语句</param>        /// <returns>object</returns>        public static object GetScalar(string safeSql)        {            SqlCommand cmd = new SqlCommand(safeSql, Connection);            object obj= cmd.ExecuteScalar();            Connection.Close();            return obj;        }        /// <summary>        /// 查询第一行第一列数据(有参)(返回的是什么类型就转换成什么类型)        /// </summary>        /// <param name="values">参数</param>        /// <returns>object</returns>        public static object GetScalar(string safeSql,params SqlParameter[] values)        {            SqlCommand cmd = new SqlCommand(safeSql,Connection);            cmd.Parameters.AddRange(values);            object obj = cmd.ExecuteScalar();            Connection.Close();            return obj;        }        /// <summary>        /// 返回int        /// </summary>        /// <param name="sql"></param>        /// <param name="values"></param>        /// <returns></returns>        public static int GetScalarInt(string sql, params SqlParameter[] values)        {            SqlCommand cmd = new SqlCommand(sql, Connection);            cmd.Parameters.AddRange(values);            int i= Convert.ToInt32(cmd.ExecuteScalar());            Connection.Close();            return i;        }        /// <summary>        /// 返回string        /// </summary>        /// <param name="sql"></param>        /// <param name="values"></param>        /// <returns></returns>        public static string GetScalarString(string sql, params SqlParameter[] values)        {            SqlCommand cmd = new SqlCommand(sql, Connection);            cmd.Parameters.AddRange(values);            string str= Convert.ToString(cmd.ExecuteScalar());            Connection.Close();            return str;        }        /// <summary>        /// 返回一个Datatable(无参)        /// </summary>        /// <param name="safeSql">语句</param>        /// <returns>DataTable</returns>        public static DataTable GetDataSet(string safeSql)        {            DataSet ds = new DataSet();            SqlCommand cmd = new SqlCommand(safeSql, Connection);            SqlDataAdapter da = new SqlDataAdapter(cmd);            da.Fill(ds);            Connection.Close();            return ds.Tables[0];        }        /// <summary>        /// 返回一个Datatable(有参)        /// </summary>        /// <param name="sql">语句</param>        /// <param name="values">参数</param>        /// <returns>DataTable</returns>        public static DataTable GetDataSet(string sql, params SqlParameter[] values)        {            DataSet ds = new DataSet();            SqlCommand cmd = new SqlCommand(sql, Connection);            cmd.Parameters.AddRange(values);            SqlDataAdapter da = new SqlDataAdapter(cmd);            da.Fill(ds);            Connection.Close();            return ds.Tables[0];        }        /// <summary>/// 执行多条SQL语句,实现数据库事务。/// </summary>/// <param name="SQLStringList">多条SQL语句</param>public static void ExecuteSqlTran(ArrayList SQLStringList){SqlCommand cmd = new SqlCommand();                cmd.Connection = Connection;                SqlTransaction tx = Connection.BeginTransaction();cmd.Transaction=tx;                try                {                    for (int n = 0; n < SQLStringList.Count; n++)                    {                        string strsql = SQLStringList[n].ToString();                        if (strsql.Trim().Length > 1)                        {                            cmd.CommandText = strsql;                            cmd.ExecuteNonQuery();                        }                    }                    tx.Commit();                }                catch (System.Data.SqlClient.SqlException E)                {                    tx.Rollback();                    throw new Exception(E.Message);                }                finally                {                    Connection.Close();                }}    }}

原创粉丝点击