1. 程式人生 > >C#怎樣連結mysql資料庫

C#怎樣連結mysql資料庫

C#一般連結sqlserver資料庫,當然也會連結oracle。C#和MYSQL搭配貌似不多見哦

下面說說方法。

1、下載連結庫檔案,MySql.Data.dll

MySql.Data.rar

2、工程引用檔案,並在類檔案中應用using

using MySql.Data; using MySql.Data.MySqlClient;

3、下來其他就和sqlserver差不多了。

4、配置檔案中的連結字串和連結變數

<appSettings>  <add key="conn" value="Database='tdm';Data Source='localhost';User Id='root';Password='root';charset='utf8';pooling=true"/>  </appSettings>

 

public static string Conn = System.Configuration.ConfigurationManager.AppSettings["conn"];

 

5、定義兩個常用的資料庫類方法,操作資料庫和查詢

public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)        {          

 MySqlCommand cmd = new MySqlCommand();            

using (MySqlConnection conn = new MySqlConnection(Conn))          

 {              

 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);              

 int val = cmd.ExecuteNonQuery();              

 cmd.Parameters.Clear();                

return val;          

 }                  

 }  

 

public static DataSet GetDataSet(CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters)      

 {            

//建立一個MySqlCommand物件          

 MySqlCommand cmd = new MySqlCommand();          

 //建立一個MySqlConnection物件          

 MySqlConnection conn = new MySqlConnection(Conn);          

 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;            }        }

 

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);        

   }        }

6、使用方法,顯示資料

private void button2_Click(object sender, EventArgs e)        {        

   string sql="select * from deviceinfo";          

 try            {          

 dataGridView1.DataSource = MySqlHelper.GetDataSet( CommandType.Text,sql,null).Tables[0];            }            catch (Exception)            {  

             this.Text = "資料庫連線失敗";            }      

 }

7、使用方法,對資料進行增刪改

try                 {                    

string sql = "select * from deviceinfo";          

          DataTable dt = MySqlHelper.GetDataSet(CommandType.Text, sql, null).Tables[0];              

      for (int i = 0; i < dt.Rows.Count; i++)              

      {                      

  sql = "update deviceinfo set devicestatus=" + fsMakeStatuts().ToString() + " where deviceid='" + dt.Rows[i]["deviceid"].ToString() + "'";                         MySqlHelper.ExecuteNonQuery(CommandType.Text, sql, null);            

        }          

      }                 catch (Exception) {          

          this.Text = "err";                 }

 

原文連結:C#怎樣連結mysql資料庫