日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

KeeSoft.DBHelper.DBFactory 数据库访问类

發(fā)布時間:2025/4/16 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 KeeSoft.DBHelper.DBFactory 数据库访问类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

/*----------------------------------------------------------------Copyright (C) 2016 KeeSoft文件名:DBFactory.cs文件功能描述:數(shù)據(jù)庫操作基礎(chǔ)類創(chuàng)建標(biāo)識:KeeSoft - 20161012 ----------------------------------------------------------------*/using System; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient;namespace KeeSoft.DBHelper {/// <summary>/// 數(shù)據(jù)庫基本操作工廠/// </summary>public class DBFactory{//全局連接代碼private static string GlobalConnection = "Server=.;Initial Catalog={0};User ID=sa;Password=123";//哈希表存儲緩存參數(shù)private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());/// <summary>/// 通過SQL命令進行數(shù)據(jù)庫操作/// </summary>/// <param name="_dataname">數(shù)據(jù)庫名</param>/// <param name="commandType">命令類型</param>/// <param name="commandText">命令語句</param>/// <param name="commandParameters">參數(shù)化查詢時,參數(shù)數(shù)組</param>/// <returns>返回受影響的行數(shù)</returns>public static int ExecuteNonQuery(string _dataname, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters){SqlCommand cmd = new SqlCommand();using (SqlConnection conn = new SqlConnection(string.Format(GlobalConnection,_dataname))){PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);int val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val;}}/// <summary>/// 通過SQL讀取命令 游標(biāo)讀取數(shù)據(jù)/// </summary>/// <param name="_dataname">數(shù)據(jù)庫名</param>/// <param name="commandType">命令類型</param>/// <param name="commandText">命令語句</param>/// <param name="commandParameters">參數(shù)化查詢時,參數(shù)數(shù)組</param>/// <returns>返回一個 SqlDataReader類</returns>public static SqlDataReader ExecuteReader(string _dataname, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters){SqlCommand cmd = new SqlCommand();SqlConnection conn = new SqlConnection(string.Format(GlobalConnection, _dataname));try{PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);cmd.Parameters.Clear();return rdr;}catch{conn.Close();throw;}}/// <summary>/// 通過SQL讀取命令 數(shù)據(jù)存入DataSet/// </summary>/// <param name="_dataname">數(shù)據(jù)庫名</param>/// <param name="commandType">命令類型</param>/// <param name="commandText">命令語句</param>/// <param name="commandParameters">參數(shù)化查詢時,參數(shù)數(shù)組</param>/// <returns>返回一個 SqlDataReader類</returns>public static DataSet GetDataSet(string _dataname, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters){SqlCommand cmd = new SqlCommand();SqlConnection conn = new SqlConnection(string.Format(GlobalConnection, _dataname));PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);SqlDataAdapter doa = new SqlDataAdapter(cmd);DataSet ds = new DataSet();doa.Fill(ds);return ds;}/// <summary>/// 通過SQL讀取命令 數(shù)據(jù)存入DataSet/// </summary>/// <param name="_dataname">數(shù)據(jù)庫名</param>/// <param name="_sql">命令語句</param>/// <returns></returns>public static DataSet GetDataSet(string _dataname, string _sql){return GetDataSet(_dataname, CommandType.Text, _sql);}/// <summary>/// 通過SQL命令 返回第一行第一列的值/// </summary>/// <remarks>/// e.g.: /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));/// </remarks>/// <param name="connectionString">a valid connection string for a SqlConnection</param>/// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>/// <param name="commandText">the stored procedure name or T-SQL command</param>/// <param name="commandParameters">an array of SqlParamters used to execute the command</param>/// <returns>An object that should be converted to the expected type using Convert.To{Type}</returns>public static object ExecuteScalar(string _dataname, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters){SqlCommand cmd = new SqlCommand();using (SqlConnection connection = new SqlConnection(string.Format(GlobalConnection, _dataname))){PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);object val = cmd.ExecuteScalar();cmd.Parameters.Clear();return val;}}/// <summary>/// add parameter array to the cache/// </summary>/// <param name="cacheKey">Key to the parameter cache</param>/// <param name="cmdParms">an array of SqlParamters to be cached</param>public static void CacheParameters(string cacheKey, params SqlParameter[] commandParameters){parmCache[cacheKey] = commandParameters;}/// <summary>/// Retrieve cached parameters/// </summary>/// <param name="cacheKey">key used to lookup parameters</param>/// <returns>Cached SqlParamters array</returns>public static SqlParameter[] GetCachedParameters(string cacheKey){SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];if (cachedParms == null)return null;SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];for (int i = 0, j = cachedParms.Length; i < j; i++)clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();return clonedParms;}/// <summary>/// Prepare a command for execution/// </summary>/// <param name="cmd">SqlCommand object</param>/// <param name="conn">SqlConnection object</param>/// <param name="trans">SqlTransaction object</param>/// <param name="cmdType">Cmd type e.g. stored procedure or text</param>/// <param name="cmdText">Command text, e.g. Select * from Products</param>/// <param name="cmdParms">SqlParameters to use in the command</param>private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms){if (conn.State != ConnectionState.Open)conn.Open();cmd.Connection = conn;cmd.CommandText = cmdText;if (trans != null)cmd.Transaction = trans;cmd.CommandType = cmdType;if (cmdParms != null){foreach (SqlParameter parm in cmdParms)cmd.Parameters.Add(parm);}}} }

?

轉(zhuǎn)載于:https://my.oschina.net/kee1986/blog/791887

總結(jié)

以上是生活随笔為你收集整理的KeeSoft.DBHelper.DBFactory 数据库访问类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 女性向av免费网站 | 黑名单上的人全集免费观看 | 亚洲小视频在线观看 | 封神榜二在线高清免费观看 | 天天看夜夜爽 | 久久金品| 亚洲深夜福利 | 欧美激情黑白配 | 色香蕉影院| 麻豆精品视频免费观看 | 日韩三级黄 | 三级视频网站在线观看 | 色婷婷综合久久久中文字幕 | 91成人精品视频 | 天天做天天爱天天做 | 日本黄色一级 | 伊人婷婷综合 | 超碰在线资源 | 国产精品视频网 | 大地资源高清播放在线观看 | 影音先锋久久 | 亚洲一区二区三区高清在线 | 亚洲天堂免费视频 | 久久综合九色 | 超碰在线免费 | 午夜在线观看视频网站 | 灌满闺乖女h高h调教尿h | 99久久久久久久 | 欧美日一区二区 | 欧美怡红院视频一区二区三区 | 麻豆一区二区三区精品视频 | 97射射 | 久久国产剧情 | 国产人妻精品午夜福利免费 | 亚洲精品小视频 | 在线观看日本一区二区 | tube日本69第一次 | 少妇精品一区二区 | 玖玖爱在线观看 | 爱爱短视频 | 色综合久久久久 | 欧美综合久久久 | 91视频在线观看视频 | 四虎成人免费视频 | 樱井莉亚av| 五月婷婷六月婷婷 | 免费看又黄又无码的网站 | 日日干日日| 日本少妇一区二区三区 | 爱插美女网 | 免费看欧美黑人毛片 | av色图片| 国产一区黄 | 中国一级免费毛片 | 午夜精品久久久久久久91蜜桃 | 中文字幕在线亚洲 | 一级片免费在线播放 | 亚洲女同志亚洲女同女播放 | 色丁香综合 | 欧美孕妇性xx | 久热草 | 尼姑福利影院 | 青青草日韩| 灌满闺乖女h高h调教尿h | 一区二区三区视频在线播放 | 91丨九色丨蝌蚪丨对白 | 国产激情av一区二区三区 | 中文精品一区 | 欧美www视频 | 免费看成年人视频 | 精品不卡视频 | 亚洲女同一区二区 | 久久成年视频 | 黄瓜视频色 | 日韩精品一区二区三区在线 | 在线亚洲不卡 | 手机av网 | 琪琪电影午夜理论片八戒八戒 | 欧美精品一区二区在线播放 | 国产 日韩 欧美 成人 | www.777色| 欧洲精品一区二区三区久久 | 天天欧美| 国内精品卡一卡二卡三 | 自拍欧美亚洲 | 最新免费黄色网址 | 亚洲乱码中文字幕久久孕妇黑人 | 色屁屁www影院免费观看入口 | 国产主播中文字幕 | 成a人v | 69re视频| 囯产精品久久久久久 | 亚洲综合热 | 先锋资源一区二区 | 日韩高清在线观看一区 | 色偷偷av一区二区三区 | 韩日av片| 色播网址 | 久久这里只有精品首页 |