iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
1
Software Development

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

第二十二堂:英文單字測驗程式 - 學生帳號資料管理(1) - 取得所有學生資料 (Command物件、Adapter物件)

  • 分享至 

  • xImage
  •  

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

單字程式的最終的實作結果執行檔、今天的Playground範例程式碼以上傳至Github
https://github.com/ted59438/EnglishVocabulary_MySQL

  • EnglishVocabularyLearning.exe:英文單字測驗最終的實作結果
  • DBPlayground:課堂的C#範例專案
  • EnglishVocabularyLearning_MySQL:C#練習專案
  • EnglishVocabulary.sql:MySQL的範本資料
  • EnglishVocabulary_MSSQL.sql:SQL Server 的範本資料

二、本次課堂作業

  1. 進入「學生帳號資料管理」頁面,在下方資料庫當中的所有的所有學生「帳號」、「姓名」、「生日」
    https://ithelp.ithome.com.tw/upload/images/20191008/20120331mNbgDKXn76.png

2.進入「單字管理」,將所有分類帶入上方的下拉選單
https://ithelp.ithome.com.tw/upload/images/20191008/201203310QThuteYvS.png

三、本次課堂內容

(一) 實作結果

請參考Github當中的DBHelper
https://ithelp.ithome.com.tw/upload/images/20191008/20120331YQtWX97mRO.png

(二) 實作程式碼

private void queryStudentBtn_Click(object sender, EventArgs e)
{
    string sql = @"SELECT RealName AS 真實姓名,
                          Username AS 測驗帳號,
                          CAST(Birthdate AS DATE) AS 出生日期
                  FROM Student";
    queryResultGrid.DataSource = queryDT(sql);
}

/// <summary>
///  基本查詢:起
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private DataTable queryDT(string sql)
{
    // Step 1. 建立連線物件 (SqlConnection)
    MySqlConnection connection = new MySqlConnection();
    connection.ConnectionString = getConnectString();

    // Step 2. 建立指令物件 (SqlCommand)
    MySqlCommand command = new MySqlCommand();
    command.Connection = connection;
    command.CommandText = sql;

    // Step 3. 建立撈取資料的物件 (Adapter)
    MySqlDataAdapter adapter = new MySqlDataAdapter();
    adapter.SelectCommand = command;

    // Step 4. 開啟連線 
    connection.Open();

    // Step 5. 執行SELECT查詢,取得資料後存放到DataTable
    DataTable queryResultDT = new DataTable();
    adapter.Fill(queryResultDT);

    // Step 6. 關閉連線
    connection.Close();

    return queryResultDT;
}

(三)連接資料庫的流程

Step 1. 建立連線物件 (SqlConnection)

MySqlConnection connection = new MySqlConnection();
connection.ConnectionString = getConnectString();

Step 2. 建立指令物件 (SqlCommand)

MySqlCommand command = new MySqlCommand();
command.Connection = connection;
command.CommandText = sql;

Step 3. 建立撈取資料的物件 (Adapter)

MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = command;

Step 4. 開啟連線

connection.Open();

Step 5. 執行SELECT查詢,取得資料後存放到DataTable

DataTable queryResultDT = new DataTable();
adapter.Fill(queryResultDT);

Step 6. 關閉連線

connection.Close();

上一篇
第二十一堂:英文單字測驗程式 ─ 實作資料庫連線參數設定程式 (Connect物件)
下一篇
第二十三堂:英文單字測驗程式 - 學生帳號資料管理(2) - 取得指定的學生 (Bind SQL Parameter)
系列文
從問題理解與活用SQL語法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言