亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現操作MySql數據層類MysqlHelper實例

2020-01-24 01:55:29
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現操作MySql數據層類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 {  //數據庫連接字符串  public static string Conn = "Database='device_manage';Data Source='localhost';User Id='root';Password='123456';charset='utf8';pooling=true;Allow Zero Datetime=True";  /// <summary>  /// 給定連接的數據庫用假設參數執行一個sql命令(不返回數據集)  /// </summary>  /// <param name="connectionString">一個有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>執行命令所影響的行數</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>  /// 用現有的數據庫連接執行一個sql命令(不返回數據集)  /// </summary>  /// <param name="connection">一個現有的數據庫連接</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>執行命令所影響的行數</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>  ///使用現有的SQL事務執行一個sql命令(不返回數據集)  /// </summary>  /// <remarks>  ///舉例:  /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="trans">一個現有的事務</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>執行命令所影響的行數</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>  /// 用執行的數據庫連接執行一個返回數據集的sql命令  /// </summary>  /// <remarks>  /// 舉例:  /// MySqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="connectionString">一個有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>包含結果的讀取器</returns>  public static MySqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   //創建一個MySqlCommand對象   MySqlCommand cmd = new MySqlCommand();   //創建一個MySqlConnection對象   MySqlConnection conn = new MySqlConnection(connectionString);   //在這里我們用一個try/catch結構執行sql文本命令/存儲過程,因為如果這個方法產生一個異常我們要關閉連接,因為沒有讀取器存在,   //因此commandBehaviour.CloseConnection 就不會執行   try   {    //調用 PrepareCommand 方法,對 MySqlCommand 對象設置參數    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);    //調用 MySqlCommand 的 ExecuteReader 方法    MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);    //清除參數    cmd.Parameters.Clear();    return reader;   }   catch   {    //關閉連接,拋出異常    conn.Close();    throw;   }  }  /// <summary>  /// 返回DataSet  /// </summary>  /// <param name="connectionString">一個有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns></returns>  public static DataSet GetDataSet(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)  {   //創建一個MySqlCommand對象   MySqlCommand cmd = new MySqlCommand();   //創建一個MySqlConnection對象   MySqlConnection conn = new MySqlConnection(connectionString);   //在這里我們用一個try/catch結構執行sql文本命令/存儲過程,   //因為如果這個方法產生一個異常我們要關閉連接,因為沒有讀取器存在,   try   {    //調用 PrepareCommand 方法,對 MySqlCommand 對象設置參數    PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);    //調用 MySqlCommand 的 ExecuteReader 方法    MySqlDataAdapter adapter = new MySqlDataAdapter();    adapter.SelectCommand = cmd;    DataSet ds = new DataSet();    adapter.Fill(ds);    //清除參數    cmd.Parameters.Clear();    conn.Close();    return ds;   }   catch (Exception e)   {    throw e;   }  }  /// <summary>  /// 用指定的數據庫連接字符串執行一個命令并返回一個數據集的第一列  /// </summary>  /// <remarks>  ///例如:  /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  ///<param name="connectionString">一個有效的連接字符串</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>用 Convert.To{Type}把類型轉換為想要的 </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>  /// 用指定的數據庫連接執行一個命令并返回一個數據集的第一列  /// </summary>  /// <remarks>  /// 例如:  /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));  /// </remarks>  /// <param name="connection">一個存在的數據庫連接</param>  /// <param name="cmdType">命令類型(存儲過程, 文本, 等等)</param>  /// <param name="cmdText">存儲過程名稱或者sql命令語句</param>  /// <param name="commandParameters">執行命令所用參數的集合</param>  /// <returns>用 Convert.To{Type}把類型轉換為想要的 </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>  /// 準備執行一個命令  /// </summary>  /// <param name="cmd">sql命令</param>  /// <param name="conn">OleDb連接</param>  /// <param name="trans">OleDb事務</param>  /// <param name="cmdType">命令類型例如 存儲過程或者文本</param>  /// <param name="cmdText">命令文本,例如:Select * from Products</param>  /// <param name="cmdParms">執行命令的參數</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);   }  } }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美一二三区| 国产精品亚洲视频在线观看| 国产午夜精品视频免费不卡69堂| 欧美激情乱人伦一区| 午夜精品一区二区三区在线播放| 91在线高清视频| 久久久久久久网站| 日韩在线观看你懂的| 精品中文视频在线| 亚洲第一页中文字幕| 久久久久久这里只有精品| 欧美电影在线观看网站| 亚洲一区二区三区乱码aⅴ| 亚洲欧美日韩国产中文| 精品中文字幕视频| 国产精品高清免费在线观看| 国产视频在线一区二区| 岛国av一区二区| 久久视频国产精品免费视频在线| 中文字幕久久精品| 一本色道久久综合狠狠躁篇的优点| 亚洲精品99久久久久中文字幕| 久久久久久久国产| 欧美日韩一区免费| 欧美性理论片在线观看片免费| 久久精品最新地址| 欧美专区在线视频| 久久久精品一区二区| 中文字幕av一区中文字幕天堂| 伊人亚洲福利一区二区三区| 午夜剧场成人观在线视频免费观看| 欧美国产亚洲精品久久久8v| 亚洲综合国产精品| 亚洲人成亚洲人成在线观看| 欧美性受xxxx白人性爽| 性色av一区二区三区红粉影视| 精品偷拍一区二区三区在线看| 亚洲欧美精品伊人久久| 久久免费国产视频| 亚洲va欧美va在线观看| 都市激情亚洲色图| 亚洲欧洲一区二区三区久久| 欧美高清电影在线看| 97视频在线观看亚洲| 国产99久久精品一区二区| 久久久精品久久久久| 在线观看亚洲视频| 综合国产在线视频| 日韩久久午夜影院| 国产精品91久久久久久| 按摩亚洲人久久| 一本一本久久a久久精品牛牛影视| 日韩在线视频网站| 日本aⅴ大伊香蕉精品视频| 亚洲日本欧美中文幕| 日韩h在线观看| 视频在线一区二区| 中文国产成人精品| www.精品av.com| 亚洲黄色在线观看| 在线视频亚洲欧美| 久久99青青精品免费观看| 岛国视频午夜一区免费在线观看| 91精品久久久久久久久久久久久| 91精品国产综合久久久久久蜜臀| 国产成人精品一区二区| 91日本视频在线| 午夜精品久久久久久久99热| 亚洲精品福利在线| 国产精品久久97| 久久国产精品网站| 97在线免费视频| 久久久午夜视频| 最近2019免费中文字幕视频三| 91欧美视频网站| 亚洲精品白浆高清久久久久久| 亚洲午夜未删减在线观看| 91精品国产91久久久久| 国产精品日日摸夜夜添夜夜av| 欧美性黄网官网| 性欧美视频videos6一9| 精品综合久久久久久97| 亚洲第一中文字幕在线观看| 国产91在线播放九色快色| 亚洲免费伊人电影在线观看av| 国产一区香蕉久久| 国产69精品久久久| 这里只有精品视频| 欧美二区乱c黑人| 最近2019年中文视频免费在线观看| 亚洲一区av在线播放| 欧美性xxxx极品hd满灌| 久久久久久久91| 欧美多人爱爱视频网站| 亚洲人在线视频| 色综久久综合桃花网| 亚洲欧美制服综合另类| 国产区精品视频| 欧美亚洲另类激情另类| 欧美高跟鞋交xxxxhd| 国产成人在线精品| 日韩国产高清污视频在线观看| 国产精品三级久久久久久电影| 亚洲精品国产欧美| 欧美丝袜一区二区三区| 欧美成人中文字幕在线| 疯狂做受xxxx欧美肥白少妇| 欧美日韩国产成人高清视频| 国产精品久久久久久久久久尿| 亚洲色图国产精品| 亚洲人在线观看| 性日韩欧美在线视频| 亚洲人成电影网| 亚洲大胆人体av| 亚洲石原莉奈一区二区在线观看| 久久久爽爽爽美女图片| 高清欧美性猛交| 国产精品www网站| 日韩专区在线播放| 欧美专区在线观看| 欧美亚洲国产另类| 亚洲国产精品va在线看黑人动漫| 国产精品羞羞答答| 中文字幕亚洲综合| 亚洲精品综合精品自拍| 一区二区成人精品| 亚洲视频在线免费看| 国产精品一区久久久| 日韩精品中文字幕视频在线| 久久久久亚洲精品成人网小说| 久久99热这里只有精品国产| 性色av一区二区三区红粉影视| 国产精品一香蕉国产线看观看| 亚洲精品91美女久久久久久久| 欧美日韩国产一区中文午夜| 日韩精品视频免费在线观看| 欧美激情图片区| 国产精品久久中文| 日本精品久久中文字幕佐佐木| 97热精品视频官网| 一区二区三区四区在线观看视频| 国产精品嫩草影院久久久| 欧美另类极品videosbestfree| 日韩精品视频中文在线观看| 国产精品成人aaaaa网站| 丝袜一区二区三区| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品91久久久久久| 亚洲天堂第一页| 国产精品福利在线观看| 日本精品久久中文字幕佐佐木| 在线播放日韩精品| 岛国精品视频在线播放| 亚洲国产精品一区二区三区| 亚洲性生活视频| 丝袜一区二区三区| 亚洲成人av资源网| 久久久这里只有精品视频| 午夜欧美大片免费观看| 亚洲精品福利在线| 欧亚精品中文字幕| 久久精品国产久精国产思思| 国产不卡一区二区在线播放| 92看片淫黄大片看国产片|