SqlServerDBHelper类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace DAL
{
??? /// <summary>
??? /// 連接數據庫類
??? /// </summary>
??? public class SqlServerDBHelper
??? {
??????? /// <summary>
??????? /// 連接數據庫
??????? /// </summary>
??????? /// <returns></returns>
??????? public static SqlConnection GetConnection()
??????? {
??????????? string conString = System.Configuration.ConfigurationManager.ConnectionStrings["connstring"].ToString();//定義連接數據庫字符集
??????????? return new SqlConnection(conString);//返回連接數據庫對象
??????? }
??????? /// <summary>
??????? /// 用數據填充的方法查詢
??????? /// </summary>
??????? /// <param name="type"></param>
??????? /// <param name="sql"></param>
??????? /// <param name="pares"></param>
??????? /// <returns></returns>
??????? public DataSet GetDataSet(CommandType type, string sql, params SqlParameter[] pares)
??????? {
??????????? SqlConnection con = GetConnection();
??????????? DataSet ds = new DataSet();
??????????? SqlDataAdapter da = new SqlDataAdapter(sql, con);
??????????? da.SelectCommand.CommandType = type;
??????????? if (pares != null)
??????????? {
??????????????? foreach (SqlParameter pare in pares)
??????????????? {
??????????????????? da.SelectCommand.Parameters.Add(pare);
??????????????? }
??????????? }
??????????? da.Fill(ds);
??????????? return ds;
??????? }
??????? public DataSet GetDataSet(string sql, params SqlParameter[] pares)
??????? {
??????????? return GetDataSet(CommandType.Text, sql, pares);
??????? }
??????? public SqlDataReader GetSqlDataReader(CommandType type, string sql,out SqlConnection con, params SqlParameter[] pares)
??????? {
??????????? con = GetConnection();
??????????? SqlCommand cmd = new SqlCommand(sql, con);
??????????? cmd.CommandType = type;
??????????? con.Open();
??????????? if (pares != null)
??????????? {
??????????????? foreach (SqlParameter pare in pares)
??????????????? {
??????????????????? cmd.Parameters.Add(pare);
??????????????? }
??????????? }
??????????? return cmd.ExecuteReader(CommandBehavior.CloseConnection);
??????? }
??????? public SqlDataReader GetSqlDataReader(string sql,out SqlConnection con, params SqlParameter[] pares)
??????? {
??????????? return GetSqlDataReader(CommandType.Text, sql,out con, pares);
??????? }
??????? public bool MidfyDB(CommandType type, string sql, params SqlParameter[] pares)
??????? {
??????????? bool falg = false;
??????????? SqlConnection con = GetConnection();
??????????? SqlCommand cmd = new SqlCommand(sql, con);
??????????? cmd.CommandType = type;
??????????? if (pares != null)
??????????? {
??????????????? foreach (SqlParameter pare in pares)
??????????????? {
??????????????????? cmd.Parameters.Add(pare);
??????????????? }
??????????? }
??????????? SqlTransaction trans = null;
??????????? try
??????????? {
??????????????? con.Open();
??????????????? trans = con.BeginTransaction();
??????????????? cmd.Transaction = trans;
??????????????? cmd.ExecuteNonQuery();
??????????????? trans.Commit();
??????????????? falg = true;
??????????? }
??????????? catch (Exception e)
??????????? {
??????????????? trans.Rollback();
??????????????? throw e;
??????????? }
??????????? finally
??????????? {
??????????????? con.Close();
??????????? }
??????????? return falg;
??????? }
??????? public bool MidfyDB(string sql, params SqlParameter[] pares)
??????? {
??????????? return MidfyDB(CommandType.Text, sql, pares);
??????? }
??????? /// <summary>
??????? /// 查詢聚合函數類
??????? /// </summary>
??????? /// <param name="type">數據庫操作的類型 如:StoredProcedure(存儲過程)、Text(文本)</param>
??????? /// <param name="sql">數據庫操作字符集</param>
??????? /// <param name="paras">查詢數據庫時所用的參數</param>
??????? /// <returns>object(一般為單個值)</returns>
??????? public object GetScalar(CommandType type, string sql, params SqlParameter[] paras)
??????? {
??????????? SqlConnection con = GetConnection();//創建數據集對象
??????????? SqlCommand cmd = new SqlCommand(sql, con);//操作數據庫對象
??????????? cmd.CommandType = type;//數據庫操作的類型
??????????? //如果參數不為空
??????????? if (paras != null)
??????????? {
??????????????? //遍歷參數數組
??????????????? foreach (SqlParameter para in paras)
??????????????? {
??????????????????? cmd.Parameters.Add(para);//給操作數據庫對象加上參數
??????????????? }
??????????? }
??????????? con.Open();//打開數據庫連接
??????????? object obj = cmd.ExecuteScalar();//返回一個一行一列的植
??????????? con.Close();//關閉數據庫連接
??????????? return obj;
??????? }
??????? public object GetScalar(string sql, params SqlParameter[] paras)
??????? {
??????????? return GetScalar(CommandType.Text, sql, paras);
??????? }
??????? #region 數據填充DataTable
??????? public static DataTable DataFill(SqlCommand cmd)
??????? {
??????????? DataTable dt = new DataTable();
??????????? cmd.Connection = GetConnection();
??????????? SqlDataAdapter _da = new SqlDataAdapter(cmd);
??????????? _da.Fill(dt);
??????????? return dt;
??????? }
??????? #endregion
??????? //public DataTable DateTel(string sql)
??????? //{
??????? //??? SqlConnection con = GetConnection();
??????? //??? SqlCommand cmd = new SqlCommand(sql, con);
??????? //??? SqlDataAdapter da = new SqlDataAdapter(cmd);
??????? //??? DataTable dt = new DataTable();
??????? //??? da.Fill(dt);
??????? //??? return dt;
??????? //}
??????? internal DataSet GetDataSet(string sql, int UID)
??????? {
??????????? throw new NotImplementedException();
??????? }
?
??????? public static SqlCommand GetCommand(string text)
??????? {
??????????? SqlCommand cmdObject = new SqlCommand();
??????????? cmdObject.CommandText = text;
??????????? return cmdObject;
??????? }
??????? public static void PreparedCommand(SqlCommand cmd, SqlParameter[] pars)
??????? {
??????????? foreach (SqlParameter p in pars)
??????????? {
??????????????? cmd.Parameters.Add(p);
??????????? }
??????? }
??? }
}
轉載于:https://www.cnblogs.com/wuhuisheng/archive/2010/07/02/1770053.html
總結
以上是生活随笔為你收集整理的SqlServerDBHelper类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache+php+mysql安装与配
- 下一篇: Mini 容器介绍