https://github.com/ted59438/EnglishVocabulary_MySQL
點擊主畫面的「開始測驗」,測驗前需要輸入學生自己的帳號、密碼、單字分類、測驗時間
如果帳號或密碼錯誤,無法測驗
如果帳號與密碼吻合,從選擇的分類挑選五個單字,進入並開始測驗
一個測驗(主表)會有好幾個題目(明細),每一個題目(明細)對應同一個測驗(主表)
從所有單字當中隨機挑選五個單字
/// <summary>
/// 隨機取得單字的按鈕事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void queryVocabularyBtn_Click(object sender, EventArgs e)
{
string sql = @"SELECT *
FROM Vocabulary
ORDER BY RAND()
LIMIT 5";
Dictionary<string, object> parameters = new Dictionary<string, object>();
try
{
queryVocabularyGrid.DataSource = queryDT(sql, parameters);
queryVocabularyGrid.Columns["VocabularyID"].Visible = false;
queryVocabularyGrid.Columns["CategoryID"].Visible = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
(1) 從第一個單字開始往下取10個單字
SELECT TOP 10
*
FROM Vocabulary
(2) 從第6個單字開始往下取10個單字 (不從第一個單字)
SELECT *
FROM Vocabulary
OFFSET 5 ROWS --往後遞延5筆
FETCH NEXT 10 ROWS ONLY; -- 第6筆~第15筆
從第6個單字開始往下取10個單字
SELECT *
FROM Vocabulary
LIMIT 10 OFFSET 5