1. 程式人生 > >c# 連線mysql(待完善)

c# 連線mysql(待完善)

 如果遠端連線

考慮執行下面的語句,如果已經有root使用者,第一句忽略

CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

連線需要MySql.Data

vs下 工具-->NuGet 包管理 -->管理 解決方案的NuGet程式包

瀏覽-->搜尋Mysql

就能找到

下面是個幫助連線mysql和增刪改查的類

class MySqlHelper
    {
        private MySqlConnection myConnection = null;
        private DataTable dataTable;
        /*連線資料庫
         * @param ip 資料庫的IP地址
         * @param user 使用者名稱
         * @param password 密碼
         * @param database 資料庫
         */
        public MySqlHelper(string ip,string user,string password,string database)
        {
            myConnection = new MySqlConnection(
                string.Format("server={0};user id={1};password={2};database={3}", ip, user, password, database));
            myConnection.Open();
        }
        /*
         * 執行查詢語句,
         * 返回查詢到的行數,錯誤返回-1
         */
        public int Query(string sql)
        {
            try
            {
                MySqlDataAdapter adapter = new MySqlDataAdapter(sql, myConnection);
                dataTable = new DataTable();
                adapter.Fill(dataTable);
                foreach (DataRow dr in dataTable.Rows)
                {
                    foreach (DataColumn dc in dr.Table.Columns)
                    {
                        Console.Write(dr[dc] + " ");
                    }
                    Console.WriteLine();
                }
                return dataTable.Rows.Count;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return -1;
            }
        }
        /*
         * 執行語句(insert,update,delete,drop,truncate,use,create)
         * 返回影響到的行數
         * 錯誤返回-1
         * drop,truncate,use成功返回0
         * create database成功返回1
         */
        public int Exec(string sql)
        {
            try
            {
                MySqlCommand command = new MySqlCommand(sql, myConnection);
                int rows = command.ExecuteNonQuery();
                return rows;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return -1;
            }
        }
        /*
         * 關閉連線
         */
        ~MySqlHelper()
        {
            myConnection.Close();
        }
    }