https://github.com/ted59438/EnglishVocabulary_MySQL
英文單字測驗程式與資料庫互動的功能,在後續幾天都會以DBPlayground進行講解
因為本次教學不是C#程式設計教學,重點會放在與資料庫互動的實現過程。
每次課堂結束後,嘗試將這堂課所學的觀念,改寫沒有功能的英文單字測驗程式專案。
不限寫法,歡迎運用各種資料結構、演算法、設計模式、物件導向等技巧
完成英文單字主畫面右下角的「資料庫設定作業」,讓使用者設定資料庫的連線資訊,並於按下「保存」後永久保存。
在保存之前,可以按下「測試連線」,確定設定的連線資訊是否可以正常與資料庫連接
(1) 正常連接,如下圖顯示「連線成功」
(2) 無法連接,顯示例外錯誤訊息
3.設定完資料庫後,按下右下角可進入「學生管理作業」,在進入之前,依照設定的資料庫參數,檢查資料庫是否能正常連線。
無法連線:顯示「無法連線資料庫,請檢查設定」
正常連線:進入「學生管理作業」
2.在程式檔上方引用MySql.Data 函式庫
using MySql.Data.MySqlClient;
private void connectBtn_Click(object sender, EventArgs e)
{
try
{
testConnectDB();
MessageBox.Show("測試連線成功", "訊息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
2.測試連線的主要方法
連線成功
連線錯誤
/// <summary>
/// 測試連線資料庫:設定連線字串→開啟連線→關閉連線
/// 如果無法正常連線,丟出例外錯誤
/// </summary>
private void testConnectDB()
{
MySqlConnection connection = new MySqlConnection();
string connectionString = string.Format(@"Server = {0};
Database = {1};
User ID = {2};
Password = {3};
Connection Timeout = 5",
serverNameInput.Text,
dbNameInput.Text,
dbUsernameInput.Text,
dbPasswordInput.Text);
connection.ConnectionString = connectionString;
try
{
connection.Open();
connection.Close();
}
catch (Exception)
{
throw;
}
}
MySqlConnection connection = new MySqlConnection();
string connectionString = string.Format(@"Server = {0};
Database = {1};
User ID = {2};
Password = {3};
Connection Timeout = 5",
serverNameInput.Text,
dbNameInput.Text, dbUsernameInput.Text,
dbPasswordInput.Text);
connection.ConnectionString = connectionString;
try
{
connection.Open();
connection.Close();
}
catch (Exception)
{
throw;
}