iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
1
Software Development

從問題理解與活用SQL語法系列 第 21

第二十一堂:英文單字測驗程式 ─ 實作資料庫連線參數設定程式 (Connect物件)

  • 分享至 

  • xImage
  •  

一、課程程式專案與資料庫範本SQL Github

https://github.com/ted59438/EnglishVocabulary_MySQL

  • DBPlayground:課堂的C#範例專案
  • EnglishVocabularyLearning_MySQL:C#練習專案
  • EnglishVocabulary.sql:MySQL的範本資料
  • EnglishVocabulary_MSSQL.sql:SQL Server 的範本資料

二、前言:教學進行方式

1. 課堂講解:使用Playground專案 講解

英文單字測驗程式與資料庫互動的功能,在後續幾天都會以DBPlayground進行講解
因為本次教學不是C#程式設計教學,重點會放在與資料庫互動的實現過程。

2. 課堂作業:將所學功能自行嘗試運用到英文單字專案

每次課堂結束後,嘗試將這堂課所學的觀念,改寫沒有功能的英文單字測驗程式專案。
不限寫法,歡迎運用各種資料結構、演算法、設計模式、物件導向等技巧

三、課堂作業

  1. 完成英文單字主畫面右下角的「資料庫設定作業」,讓使用者設定資料庫的連線資訊,並於按下「保存」後永久保存。
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331250QpOj2nD.png

  2. 在保存之前,可以按下「測試連線」,確定設定的連線資訊是否可以正常與資料庫連接

(1) 正常連接,如下圖顯示「連線成功」
https://ithelp.ithome.com.tw/upload/images/20191007/20120331LSOizumHCz.png

(2) 無法連接,顯示例外錯誤訊息
https://ithelp.ithome.com.tw/upload/images/20191007/20120331j4ueSaX9Z9.png

3.設定完資料庫後,按下右下角可進入「學生管理作業」,在進入之前,依照設定的資料庫參數,檢查資料庫是否能正常連線。

  • 無法連線:顯示「無法連線資料庫,請檢查設定」
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331lUog11fE2P.png

  • 正常連線:進入「學生管理作業」
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331XovHH1Tgxn.png

四、課堂內容

(一) 安裝並引入C#連接MySQL的Library套件至專案

  1. 安裝套件
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331VJWQdBNEIF.png

https://ithelp.ithome.com.tw/upload/images/20191007/201203314g2b6s9UHc.png

2.在程式檔上方引用MySql.Data 函式庫
https://ithelp.ithome.com.tw/upload/images/20191007/20120331GLqxAIMS7B.png

using MySql.Data.MySqlClient;

(二) 連線資料庫的完整程式碼

  1. 按下「測試連線」的事件程式碼
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331UcdVWkayAL.png
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.測試連線的主要方法

連線成功
https://ithelp.ithome.com.tw/upload/images/20191007/20120331KPz5vZn8M8.png

連線錯誤
https://ithelp.ithome.com.tw/upload/images/20191007/2012033134vl2NrIh2.png

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

(三) 連接資料庫的主要流程

  1. 建立Connection 物件
MySqlConnection connection = new MySqlConnection();
  1. 設定 Connection 物件 的「連線字串」
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;
  1. 呼叫Connection.Open() 開啟與資料庫的連線
  2. 呼叫Connection.Close() 關閉與資料庫的連線
  3. 過程中如果因為任何原因連線失敗,丟出例外錯誤 (try... catch)。
try
{
    connection.Open();
    connection.Close();
}
catch (Exception)
{
    throw;
}

https://ithelp.ithome.com.tw/upload/images/20191007/20120331XyAvK7jh7H.png

(四) 連接字串的設定重點

  1. Server:Server ip
  2. User ID:連線資料庫的Username
  3. Password:連線資料庫的Password

https://ithelp.ithome.com.tw/upload/images/20191007/20120331X74DnptyRI.png

  1. Database:連線使用的資料庫
    https://ithelp.ithome.com.tw/upload/images/20191007/20120331Yx3OcDsDp7.png

上一篇
第二十堂:寫程式前的資料庫管理工具熟悉 - 建立、備份、還原資料表 (dbForge、HediSQL)
下一篇
第二十二堂:英文單字測驗程式 - 學生帳號資料管理(1) - 取得所有學生資料 (Command物件、Adapter物件)
系列文
從問題理解與活用SQL語法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言