首页 > 学院 > 开发设计 > 正文

Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载

2019-11-17 03:22:20
字体:
来源:转载
供稿:网友

Net连接MySQL的公共Helper类MySqlHelper.cs带MySql.Data.dll下载

MySqlHelper.cs代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Text;using System.Data;using System.Collections;using MySql.Data.MySqlClient;using MySql.Data.Types;using System.Configuration;using System.IO;public abstract class MySqlHelper{    //Get the database connectionstring, which are static variables and readonly, all PRoject documents can be used directly, but can not modify it     //the database connectionString     //public static readonly string connectionStringManager = ConfigurationManager.ConnectionStrings["MYSQLConnectionString"].ConnectionString;    public static string ConnectionStringManager    {        get { return connectionStringManager; }    }    //This connectionString for the local test    public static readonly string connectionStringManager = System.Configuration.ConfigurationManager.AppSettings["MySQLConnString"];    //ConfigurationManager.ConnectionStrings["MySQLConnString"].ConnectionString;    //hashtable to store the parameter information, the hash table can store any type of argument     //Here the hashtable is static types of static variables, since it is static, that is a definition of global use.    //All parameters are using this hash table, how to ensure that others in the change does not affect their time to read it    //Before ,the method can use the lock method to lock the table, does not allow others to modify.when it has readed then  unlocked table.    //Now .NET provides a HashTable's Synchronized methods to achieve the same function, no need to manually lock, completed directly by the system framework     private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());    /// <summary>    /// Execute a SqlCommand command that does not return value, by appointed and specified connectionstring     /// The parameter list using parameters that in array forms    /// </summary>    /// <remarks>    /// Usage example:     /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure,    /// "PublishOrders", new MySqlParameter("@prodid", 24));    /// </remarks>    /// <param name="connectionString">a valid database connectionstring</param>    /// <param name="cmdType">MySqlCommand command type (stored procedures, T-SQL statement, and so on.) </param>    /// <param name="cmdText">stored procedure name or T-SQL statement</param>    /// <param name="commandParameters">MySqlCommand to provide an array of parameters used in the list</param>    /// <returns>Returns a value that means number of rows affected/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>    /// Execute a SqlCommand command that does not return value, by appointed and specified connectionstring     /// The parameter list using parameters that in array forms    /// </summary>    /// <remarks>    /// Usage example:     /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure,    /// "PublishOrders", new MySqlParameter("@prodid", 24));    /// </remarks>    /// <param name="cmdType">MySqlCommand command type (stored procedures, T-SQL statement, and so on.) </param>    /// <param name="connectionString">a valid database connectionstring</param>    /// <param name="cmdText">stored procedure name or T-SQL statement</param>    /// <param name="commandParameters">MySqlCommand to provide an array of parameters used in the list</param>    /// <returns>Returns true or false </returns>    public static bool ExecuteNonQuery(CommandType cmdType, string connectionString, string cmdText, params MySqlParameter[] commandParameters)    {        MySqlCommand cmd = new MySqlCommand();        using (MySqlConnection conn = new MySqlConnection(connectionString))        {            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);            try            {                int val = cmd.ExecuteNonQuery();                return true;            }            catch            {                return false;            }            finally            {                cmd.Parameters.Clear();            }        }    }    /// <summary>    /// Execute a SqlCommand command that does not return value, by appointed and specified connectionstring     /// Array of form parameters using the parameter list     /// </summary>    /// <param name="conn">connection</param>    /// <param name="cmdType">MySqlCommand command type (stored procedures, T-SQL statement, and so on.)</param>    /// <param name="cmdText">stored procedure name or T-SQL statement</param>    /// <param name="commandParameters">MySqlCommand to provide an array of parameters used in the list</param>    /// <returns>Returns a value that means number of rows affected</returns>    public static int ExecuteNonQuery(MySqlConnection conn, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)    {        MySqlCommand cmd = new MySqlCommand();        PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);        int val = cmd.ExecuteNonQuery();        cmd.Parameters.Clear();        return val;    }    /// <summary>    /// Execute a SqlCommand command that does not return value, by appointed and specified connectionstring     /// Array of form parameters using the parameter list     /// </summary>    /// <param name="conn">sql Connection that has transaction</param>    /// <param name="cmdType">SqlCommand command type (stored procedures, T-SQL statement, and so on.)</param>    /// <param name="cmdText">stored procedure name or T-SQL statement</param>    /// <param name="commandParameters">MySqlCommand to provide an array of parameters used in the list</param>    /// <returns>Returns a value that means number of rows affected </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>    /// Call method of sqldatareader to read data    /// </summary>    /// <param name="connectionString">connectionstring</param>    /// <param name="cmdType">command type, such as using stored procedures: CommandType.StoredProcedure</param>    /// <param name="cmdText">stored procedure name or T-SQL statement</param>    /// <param name="commandParameters">parameters</param>    /// <returns>SqlDataReader type of data collection</returns>    public static MySqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)    {        MySqlCommand cmd = new MySqlCommand();        MySqlConnection conn = new MySqlConnection(connectionString);        // we use a try/catch here because if the method throws an exception we want to         // close the connection throw code, because no datareader will exist, hence the         // commandBehaviour.CloseConnection will not work        try        {            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);            MySqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);            cmd.Parameters.Cl
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表