The most common way to connect to the database is through string connection, as follows:
public static string connstr = "server = localhost; uid = root; pwd = 123456; database = db_sms;"; MySqlConnection conn = new MySqlConnection(connstr); MySqlCommand comm = new MySqlCommand(sqlstr, conn);
However, this method is not conducive to the later maintenance after the application is released.
All of them connect through another way -- by reading the configuration file App.config
(1) First write App.config:
<configuration> <connectionStrings> <add name ="connstr" connectionString ="server = localhost; uid = root; pwd = 123456; database = db_sms;"/> </connectionStrings> </configuration>
Be sure to edit in the configuration node and write the string connecting to the database.
(2) Add reference System.Configuration
(3) Use the ConfigurationManger class:
public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString();
Next is the normal operation (add, delete, modify and query)
matters needing attention:
(1) The following code must be written strictly without any errors. Even if one character is wrong (one more character, one less character, case), the configuration file reading will fail.
<configuration> <connectionStrings> <add name ="" connectionString =""/> </connectionStrings> </configuration>
(2) The name of the database connection string (in this case, "connstr") must be consistent in App.config and in the code.
Attach the complete code of database operation class:
-
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; using System.Configuration; namespace DAL { public class SQLHelper { //public static string connstr = "server = localhost; uid = root; pwd = 123456; database = db_sms;"; /* 1.Add in the App.config configuration file under SMS: <connectionStrings> <add name ="connstr" connectionString ="server = localhost; uid = root; pwd = 123456; database = db_sms;"/> </connectionStrings> 2.Add reference under DAL: System.Configuration 3.Add namespace, use ConnectionStrings under ConfigurationManager class */ // Database connection by reading configuration file public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString(); /// <summary> ///Execute addition, deletion and modification /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> private static int UpDate(string sqlstr) { MySqlConnection conn = new MySqlConnection(connstr); MySqlCommand comm = new MySqlCommand(sqlstr, conn); try { conn.Open(); int result = comm.ExecuteNonQuery(); return result; } catch (System.Exception ex) { // Write to system log throw ex; } finally { conn.Close(); } } /// <summary> ///Queries: getting a single result /// </summary> /// <param name="sql"></param> /// <returns></returns> public static object GetSingleResult(string sqlstr) { MySqlConnection conn = new MySqlConnection(connstr); MySqlCommand comm = new MySqlCommand(sqlstr, conn); try { conn.Open(); object result = comm.ExecuteScalar(); return result; } catch (System.Exception ex) { // Write to system log throw ex; } conn.Close(); } /// <summary> ///Queries: getting result sets /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static MySqlDataReader GetDataReader(string sqlstr) { MySqlConnection conn = new MySqlConnection(connstr); MySqlCommand comm = new MySqlCommand(sqlstr, conn); try { conn.Open(); return comm.ExecuteReader(CommandBehavior.CloseConnection); } catch (System.Exception ex) { // Write to system log conn.Clone(); throw ex; } finally { conn.Close(); } } } }