[c#]與MySQL連線

  • 5552
  • 0
  • 2012-05-25

摘要:[c#]與MySQL連線

先上MySQL的官網下載MySQL Connectors :http://www.mysql.com/downloads/connector/net/

下載後在你的專案裡加入參考即可使用喔!  要注意你專案屬性中的「目標Framework」的版本和 MySQL Connectors (DLL)的版本要相容。

 

 

        /// 
        /// 更新MySQL資料庫
        /// 
        private void SaveMySqlDB()
        {
            string dbHost = "資料庫ip";
            string dbUser = "資料庫登入ID";
            string dbPass = "資料庫登入密碼";
            string dbName = "資料庫名稱";

            MySqlConnection mySqlConn = null;
            string strMySqlServer = String.Format("server=" + dbHost + ";user id=" + dbUser + "; password=" + dbPass + "; database=" + dbName + ";");
            mySqlConn = new MySqlConnection(strMySqlServer);
            // 連線到資料庫 
            try
            {
                if (mySqlConn.State == ConnectionState.Closed)  
                    mySqlConn.Open();
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                switch (ex.Number)
                {
                    case 0:
                        Console.WriteLine("無法連線到資料庫.");
                        break;
                    case 1045:
                        Console.WriteLine("使用者帳號或密碼錯誤,請再試一次.");
                        break;
                }
            }
            //取得某筆資料
            MySqlCommand command = mySqlConn.CreateCommand();
            command.CommandText = "select name from FAUSER where idaccount=@p_empno ";
            command.Parameters.Add("@p_empno", MySqlDbType.VarChar, 10);
            command.Parameters["@p_empno"].Value = Utilities.empno1.p_empno;

            MySqlDataReader myDatareader = command.ExecuteReader();

            if (myDatareader.HasRows) 
            {
                myDatareader.Close();

                Console.WriteLine(Utilities.empno1.p_empno);
                //更新某筆資料
                MySqlCommand command1 = mySqlConn.CreateCommand();
                command1.CommandText = "update FAUSER set f1=@f1,cardno=@p_cardno,creatdt=@updatedt where idaccount=@p_empno ";
                command1.Parameters.Add("@f1", MySqlDbType.Blob);
                command1.Parameters.Add("@p_cardno", MySqlDbType.VarChar, 10);
                command1.Parameters.Add("@updatedt", MySqlDbType.DateTime, 30);
                command1.Parameters.Add("@p_empno", MySqlDbType.VarChar, 10);
                command1.Parameters["@f1"].Value = empno1.f1;
                command1.Parameters["@p_cardno"].Value = empno1.p_cardno == null ? "" : empno1.p_cardno;
                command1.Parameters["@updatedt"].Value = DateTime.Now;
                command1.Parameters["@p_empno"].Value = empno1.p_empno;

                int rows = command1.ExecuteNonQuery();                
            }
            //關閉連線
      mySqlConn.Close();
            mySqlConn = null;
        }