An ES0en.NET's MYSQL database operation class encapsulates itself

  • 2020-12-22 17:37:21
  • OfStack


/** 
*  Class description: Right MYSQL The operation class of the database  
*/ 
using System; 
using System.Data; 
using MySql.Data.MySqlClient; 


namespace Niunan.BYLW.Utility 
{ 
/// <summary> right MYSQL The operation class of the database  
/// 
/// </summary> 
public class MYSQLHelper 
{ 
private MySqlConnection conn = null; 
private MySqlCommand cmd = null; 
private MySqlDataReader sdr = null; 


public MYSQLHelper() 
{ 
//string connStr = WebConfigurationManager.ConnectionStrings["connStr"].ToString(); 
string connStr = "server=localhost;database=test;uid=root;pwd=123456;charset=utf8"; 
conn = new MySqlConnection(connStr); 
} 


/// <summary> create Command object  
/// 
/// </summary> 
/// <param name="sql">SQL statements </param> 
public void CreateCommand(string sql) 
{ 
conn.Open(); 
cmd = new MySqlCommand(sql, conn); 
} 


/// <summary> Add parameters  
/// 
/// </summary> 
/// <param name="paramName"> The parameter name </param> 
/// <param name="value"> value </param> 
public void AddParameter(string paramName, object value) 
{ 
cmd.Parameters.Add(new MySqlParameter(paramName, value)); 
} 


/// <summary> Add, delete or change without parameters SQL statements  
/// 
/// </summary> 
/// <param name="cmdText"> Increases the deletion SQL statements </param> 
/// <param name="ct"> Type the command </param> 
/// <returns></returns> 
public bool ExecuteNonQuery() 
{ 
int res; 
try 
{ 
res = cmd.ExecuteNonQuery(); 
if (res > 0) 
{ 
return true; 
} 
} 
catch (Exception ex) 
{ 
throw ex; 
} 
finally 
{ 
if (conn.State == ConnectionState.Open) 
{ 
conn.Close(); 
} 
} 
return false; 
} 


/// <summary> Execute the query SQL statements  
/// 
/// </summary> 
/// <param name="cmdText"> The query SQL statements </param> 
/// <returns></returns> 
public DataTable ExecuteQuery() 
{ 
DataTable dt = new DataTable(); 
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) 
{ 
dt.Load(sdr); 
} 
return dt; 
} 


/// <summary> Return the query SQL Statement to the end of a query result 1 Line first 1 The value of the column  
/// 
/// </summary> 
/// <returns></returns> 
public string ExecuteScalar() 
{ 
string res = ""; 
try 
{ 
object obj = cmd.ExecuteScalar(); 
if (obj != null) 
{ 
res = obj.ToString(); 
} 
} 
catch (Exception ex) 
{ 
throw ex; 
} 
finally 
{ 
if (conn.State == ConnectionState.Open) 
{ 
conn.Close(); 
} 
} 
return res; 
} 
} 
} 

The operation class of SQLITEHelper was moved over and the variable names such as MySqlConnection were changed. For MYSQL, there would often be Chinese scrambled code. After experiments, the solution was as follows:

Remember to select the code of UTF-8 when setting up MYSQL database with PHPMYADMIN

Remember to add charset=utf8 to the connection string in the database operation class above

In this way, using the above operation class to insert Chinese will not appear confused code.


Related articles: