国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#實(shí)現(xiàn)操作MySql數(shù)據(jù)層類MysqlHelper實(shí)例

2020-01-24 01:55:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了C#實(shí)現(xiàn)操作MySql數(shù)據(jù)層類MysqlHelper。分享給大家供大家參考。具體如下:

using System;using System.Data;using System.Configuration;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Linq;using MySql.Data;using MySql.Data.MySqlClient;namespace VideoWorks.ITmanage.DAL{ public abstract class MySqlHelper {  //數(shù)據(jù)庫(kù)連接字符串  public static string Conn = "Database='device_manage';Data Source='localhost';User Id='root';Password='123456';charset='utf8';pooling=true;Allow Zero Datetime=True";  /// <summary>  /// 給定連接的數(shù)據(jù)庫(kù)用假設(shè)參數(shù)執(zhí)行一個(gè)sql命令(不返回?cái)?shù)據(jù)集)  /// </summary>  /// <param name="connectionString">一個(gè)有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>執(zhí)行命令所影響的行數(shù)</returns>  public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   MySqlCommand cmd = new MySqlCommand();   using (MySqlConnection conn = new MySqlConnection(connectionString))   {    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);    int val = cmd.ExecuteNonQuery();    cmd.Parameters.Clear();    return val;   }  }  /// <summary>  /// 用現(xiàn)有的數(shù)據(jù)庫(kù)連接執(zhí)行一個(gè)sql命令(不返回?cái)?shù)據(jù)集)  /// </summary>  /// <param name="connection">一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>執(zhí)行命令所影響的行數(shù)</returns>  public static int ExecuteNonQuery(MySqlConnection connection, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   MySqlCommand cmd = new MySqlCommand();   PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);   int val = cmd.ExecuteNonQuery();   cmd.Parameters.Clear();   return val;  }  /// <summary>  ///使用現(xiàn)有的SQL事務(wù)執(zhí)行一個(gè)sql命令(不返回?cái)?shù)據(jù)集)  /// </summary>  /// <remarks>  ///舉例:  /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="trans">一個(gè)現(xiàn)有的事務(wù)</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>執(zhí)行命令所影響的行數(shù)</returns>  public static int ExecuteNonQuery(MySqlTransaction trans, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   MySqlCommand cmd = new MySqlCommand();   PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);   int val = cmd.ExecuteNonQuery();   cmd.Parameters.Clear();   return val;  }  /// <summary>  /// 用執(zhí)行的數(shù)據(jù)庫(kù)連接執(zhí)行一個(gè)返回?cái)?shù)據(jù)集的sql命令  /// </summary>  /// <remarks>  /// 舉例:  /// MySqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="connectionString">一個(gè)有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>包含結(jié)果的讀取器</returns>  public static MySqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   //創(chuàng)建一個(gè)MySqlCommand對(duì)象   MySqlCommand cmd = new MySqlCommand();   //創(chuàng)建一個(gè)MySqlConnection對(duì)象   MySqlConnection conn = new MySqlConnection(connectionString);   //在這里我們用一個(gè)try/catch結(jié)構(gòu)執(zhí)行sql文本命令/存儲(chǔ)過(guò)程,因?yàn)槿绻@個(gè)方法產(chǎn)生一個(gè)異常我們要關(guān)閉連接,因?yàn)闆](méi)有讀取器存在,   //因此commandBehaviour.CloseConnection 就不會(huì)執(zhí)行   try   {    //調(diào)用 PrepareCommand 方法,對(duì) MySqlCommand 對(duì)象設(shè)置參數(shù)    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);    //調(diào)用 MySqlCommand 的 ExecuteReader 方法    MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);    //清除參數(shù)    cmd.Parameters.Clear();    return reader;   }   catch   {    //關(guān)閉連接,拋出異常    conn.Close();    throw;   }  }  /// <summary>  /// 返回DataSet  /// </summary>  /// <param name="connectionString">一個(gè)有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns></returns>  public static DataSet GetDataSet(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   //創(chuàng)建一個(gè)MySqlCommand對(duì)象   MySqlCommand cmd = new MySqlCommand();   //創(chuàng)建一個(gè)MySqlConnection對(duì)象   MySqlConnection conn = new MySqlConnection(connectionString);   //在這里我們用一個(gè)try/catch結(jié)構(gòu)執(zhí)行sql文本命令/存儲(chǔ)過(guò)程,   //因?yàn)槿绻@個(gè)方法產(chǎn)生一個(gè)異常我們要關(guān)閉連接,因?yàn)闆](méi)有讀取器存在,   try   {    //調(diào)用 PrepareCommand 方法,對(duì) MySqlCommand 對(duì)象設(shè)置參數(shù)    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);    //調(diào)用 MySqlCommand 的 ExecuteReader 方法    MySqlDataAdapter adapter = new MySqlDataAdapter();    adapter.SelectCommand = cmd;    DataSet ds = new DataSet();    adapter.Fill(ds);    //清除參數(shù)    cmd.Parameters.Clear();    conn.Close();    return ds;   }   catch (Exception e)   {    throw e;   }  }  /// <summary>  /// 用指定的數(shù)據(jù)庫(kù)連接字符串執(zhí)行一個(gè)命令并返回一個(gè)數(shù)據(jù)集的第一列  /// </summary>  /// <remarks>  ///例如:  /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  ///<param name="connectionString">一個(gè)有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>用 Convert.To{Type}把類型轉(zhuǎn)換為想要的 </returns>  public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   MySqlCommand cmd = new MySqlCommand();   using (MySqlConnection connection = new MySqlConnection(connectionString))   {    PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);    object val = cmd.ExecuteScalar();    cmd.Parameters.Clear();    return val;   }  }  /// <summary>  /// 用指定的數(shù)據(jù)庫(kù)連接執(zhí)行一個(gè)命令并返回一個(gè)數(shù)據(jù)集的第一列  /// </summary>  /// <remarks>  /// 例如:  /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="connection">一個(gè)存在的數(shù)據(jù)庫(kù)連接</param>  /// <param name="cmdType">命令類型(存儲(chǔ)過(guò)程, 文本, 等等)</param>  /// <param name="cmdText">存儲(chǔ)過(guò)程名稱或者sql命令語(yǔ)句</param>  /// <param name="commandParameters">執(zhí)行命令所用參數(shù)的集合</param>  /// <returns>用 Convert.To{Type}把類型轉(zhuǎn)換為想要的 </returns>  public static object ExecuteScalar(MySqlConnection connection, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   MySqlCommand cmd = new MySqlCommand();   PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);   object val = cmd.ExecuteScalar();   cmd.Parameters.Clear();   return val;  }  /// <summary>  /// 準(zhǔn)備執(zhí)行一個(gè)命令  /// </summary>  /// <param name="cmd">sql命令</param>  /// <param name="conn">OleDb連接</param>  /// <param name="trans">OleDb事務(wù)</param>  /// <param name="cmdType">命令類型例如 存儲(chǔ)過(guò)程或者文本</param>  /// <param name="cmdText">命令文本,例如:Select * from Products</param>  /// <param name="cmdParms">執(zhí)行命令的參數(shù)</param>  private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, CommandType cmdType, string cmdText, MySqlParameter[] 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 (MySqlParameter parm in cmdParms)     cmd.Parameters.Add(parm);   }  } }}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀喇| 余姚市| 平南县| 资源县| 五寨县| 曲水县| 吉安市| 高安市| 德安县| 伊吾县| 永泰县| 舟曲县| 自治县| 昭苏县| 乌恰县| 华坪县| 长宁区| 灵武市| 紫金县| 西丰县| 志丹县| 太湖县| 泌阳县| 长泰县| 区。| 奉贤区| 常宁市| 弥渡县| 宜兰县| 曲水县| 始兴县| 保山市| 长顺县| 武陟县| 昌乐县| 乌鲁木齐县| 嘉荫县| 来凤县| 青龙| 仁怀市| 策勒县|