• Mysql操作类封装【https://blog.csdn.net/blog_lee/article/details/45111489】


    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.Linq;  
    4. using System.Text;  
    5. using System.Data;  
    6. using System.Configuration;  
    7. using System.Windows.Forms;  
    8.   
    9. using MySql.Data.MySqlClient;  
    10. using System.Xml;  
    11. using MySql.Data;  
    12.   
    13. /* 
    14.  * Author: Lee 
    15.  * Time: 2015-04-08 
    16.  * Info: 数据库封装操作类 
    17. */  
    18.   
    19. namespace Common   
    20. {  
    21.     public class DbManager  
    22.     {  
    23.         //连接用的字符串  
    24.         private string connStr;  
    25.         public string ConnStr   
    26.         {  
    27.             get { return this.connStr; }  
    28.             set { this.connStr = value; }  
    29.         }  
    30.   
    31.         private DbManager() { }  
    32.   
    33.         //DbManager单实例  
    34.         private static DbManager _instance = null;  
    35.         public static DbManager Ins  
    36.         {  
    37.             get { if (_instance == null) { _instance = new DbManager(); } return _instance; }  
    38.         }  
    39.   
    40.         /// <summary>  
    41.         /// 需要获得多个结果集的时候用该方法,返回DataSet对象。  
    42.         /// </summary>  
    43.         /// <param name="sql语句"></param>  
    44.         /// <returns></returns>  
    45.           
    46.         public DataSet ExecuteDataSet(string sql, params MySqlParameter[] paras)  
    47.         {  
    48.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    49.             {  
    50.                 //数据适配器  
    51.                 MySqlDataAdapter sqlda = new MySqlDataAdapter(sql, con);  
    52.                 sqlda.SelectCommand.Parameters.AddRange(paras);  
    53.                 DataSet ds = new DataSet();  
    54.                 sqlda.Fill(ds);  
    55.                 return ds;  
    56.                 //不需要打开和关闭链接.  
    57.             }  
    58.         }  
    59.   
    60.         /// <summary>  
    61.         /// 获得单个结果集时使用该方法,返回DataTable对象。  
    62.         /// </summary>  
    63.         /// <param name="sql"></param>  
    64.         /// <returns></returns>  
    65.   
    66.         public DataTable ExcuteDataTable(string sql, params MySqlParameter[] paras)  
    67.         {  
    68.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    69.             {  
    70.                 MySqlDataAdapter sqlda = new MySqlDataAdapter(sql, con);  
    71.                 sqlda.SelectCommand.Parameters.AddRange(paras);  
    72.                 DataTable dt = new DataTable();  
    73.                 sqlda.Fill(dt);  
    74.                 return dt;  
    75.             }  
    76.         }  
    77.   
    78.   
    79.         /// <summary>     
    80.         /// 执行一条计算查询结果语句,返回查询结果(object)。     
    81.         /// </summary>     
    82.         /// <param name="SQLString">计算查询结果语句</param>     
    83.         /// <returns>查询结果(object)</returns>     
    84.         public object ExecuteScalar(string SQLString, params MySqlParameter[] paras)  
    85.         {  
    86.             using (MySqlConnection connection = new MySqlConnection(ConnStr))  
    87.             {  
    88.                 using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))  
    89.                 {  
    90.                     try  
    91.                     {  
    92.                         connection.Open();  
    93.                         cmd.Parameters.AddRange(paras);  
    94.                         object obj = cmd.ExecuteScalar();  
    95.                         if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))  
    96.                         {  
    97.                             return null;  
    98.                         }  
    99.                         else  
    100.                         {  
    101.                             return obj;  
    102.                         }  
    103.                     }  
    104.                     catch (MySql.Data.MySqlClient.MySqlException e)  
    105.                     {  
    106.                         connection.Close();  
    107.                         throw e;  
    108.                     }  
    109.                 }  
    110.             }  
    111.         }     
    112.   
    113.         /// <summary>  
    114.         /// 执行Update,Delete,Insert操作  
    115.         /// </summary>  
    116.         /// <param name="sql"></param>  
    117.         /// <returns></returns>  
    118.         public int ExecuteNonquery(string sql, params MySqlParameter[] paras)  
    119.         {  
    120.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    121.             {  
    122.                 MySqlCommand cmd = new MySqlCommand(sql, con);  
    123.                 cmd.Parameters.AddRange(paras);  
    124.                 con.Open();  
    125.                 return cmd.ExecuteNonQuery();  
    126.             }  
    127.         }  
    128.   
    129.         /// <summary>  
    130.         /// 调用存储过程 无返回值  
    131.         /// </summary>  
    132.         /// <param name="procname">存储过程名</param>  
    133.         /// <param name="paras">sql语句中的参数数组</param>  
    134.         /// <returns></returns>  
    135.         public int ExecuteProcNonQuery(string procname, params MySqlParameter[] paras)  
    136.         {  
    137.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    138.             {  
    139.                 MySqlCommand cmd = new MySqlCommand(procname, con);  
    140.                 cmd.CommandType = CommandType.StoredProcedure;  
    141.                 cmd.Parameters.AddRange(paras);  
    142.                 con.Open();  
    143.                 return cmd.ExecuteNonQuery();  
    144.             }  
    145.         }  
    146.   
    147.         /// <summary>  
    148.         /// 存储过程 返回Datatable  
    149.         /// </summary>  
    150.         /// <param name="procname"></param>  
    151.         /// <param name="paras"></param>  
    152.         /// <returns></returns>  
    153.         public DataTable ExecuteProcQuery(string procname, params MySqlParameter[] paras)  
    154.         {  
    155.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    156.             {  
    157.                 MySqlCommand cmd = new MySqlCommand(procname, con);  
    158.                 cmd.CommandType = CommandType.StoredProcedure;  
    159.                 MySqlDataAdapter sqlda = new MySqlDataAdapter(procname, con);  
    160.                 sqlda.SelectCommand.Parameters.AddRange(paras);  
    161.                 DataTable dt = new DataTable();  
    162.                 sqlda.Fill(dt);  
    163.                 return dt;  
    164.             }  
    165.         }  
    166.   
    167.         /// <summary>  
    168.         /// 多语句的事物管理  
    169.         /// </summary>  
    170.         /// <param name="cmds">命令数组</param>  
    171.         /// <returns></returns>  
    172.         public bool ExcuteCommandByTran(params MySqlCommand[] cmds)  
    173.         {  
    174.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    175.             {  
    176.                 con.Open();  
    177.                 MySqlTransaction tran = con.BeginTransaction();  
    178.                 foreach (MySqlCommand cmd in cmds)  
    179.                 {  
    180.                     cmd.Connection = con;  
    181.                     cmd.Transaction = tran;  
    182.                     cmd.ExecuteNonQuery();  
    183.                 }  
    184.                 tran.Commit();  
    185.                 return true;  
    186.             }  
    187.         }  
    188.   
    189.         ///分页  
    190.         public DataTable ExcuteDataWithPage(string sql, ref int totalCount, params MySqlParameter[] paras)  
    191.         {  
    192.             using (MySqlConnection con = new MySqlConnection(ConnStr))  
    193.             {  
    194.                 MySqlDataAdapter dap = new MySqlDataAdapter(sql, con);  
    195.                 DataTable dt = new DataTable();  
    196.                 dap.SelectCommand.Parameters.AddRange(paras);  
    197.                 dap.Fill(dt);  
    198.                 MySqlParameter ttc = dap.SelectCommand.Parameters["@totalCount"];  
    199.                 if (ttc != null)  
    200.                 {  
    201.                     totalCount = Convert.ToInt32(ttc.Value);  
    202.                 }  
    203.                 return dt;  
    204.             }  
    205.         }  
    206.           
    207.     }  
    208. }  
    [csharp] view plain copy
     
    1. //C#调用例子  
    2. DbManager.Ins.ConnStr = "Mysql地址 密码等"  
    3.         string sql = @"select * from log_account where (createtime between @startTime and @endTime) and (serverinfo like @serverinfo)";  
    4.         List<MySqlParameter> Paramter = new List<MySqlParameter>();  
    5.         Paramter.Add(new MySqlParameter("@startTime", startTime));  
    6.         Paramter.Add(new MySqlParameter("@endTime", endTime));  
    7.         Paramter.Add(new MySqlParameter("@serverinfo", (ConfManager.Ins.currentConf.serverid + "-%")));  
    8.         DataTable data = DbManager.Ins.ExcuteDataTable(sql, Paramter.ToArray());  
  • 相关阅读:
    fiddler抓取java系程序的网络通信
    ZOJ 2724 Windows Message Queue(优先队列)
    FZU 电动车通行证制度
    Havel定理
    Catch That Cow
    Trie树
    zoj 2876 Phone List
    zoj 2420
    getchar
    zoj 1315 Excuses, Excuses!
  • 原文地址:https://www.cnblogs.com/jingxuan-li/p/8653747.html
Copyright © 2020-2023  润新知