如何检查使用SQL和C#随机生成的问题的答案

时间:2019-01-23 10:48:47

标签: c# sql database ssms

我正在使用C#Windows窗体创建测验,该窗体从Server Management Studio中的表格中随机输出问题。由于问题是随机产生的,因此我正在努力根据表中的数据检查输入的答案是否正确。

我已经使用Newid()随机生成问题了(我将在下面显示),但是现在我很难选择答案,因为我以前搜索答案的方式将取决于QuestionID。

这是我用来输出15个问题的sql语句

SELECT TOP 15  Question, OptionA, OptionB, OptionC, OptionD 
FROM   dbo.Questions 
WHERE  AsOrALevel =1 
ORDER BY newid() ;

这是我之前检查表格中相应答案提交的答案的方式

SqlConnection con = new SqlConnection(conn);
SqlCommand checkQuestion1 = new SqlCommand("select * from Questions where Answer =@Q1 and QuestionID = @num ", con);
//("@QuestionNumber", QuestionNumber);
checkQuestion1.Parameters.AddWithValue("@Q1", Q1Txt.Text);
checkQuestion1.Parameters.AddWithValue("@num", num);

con.Open();
SqlDataAdapter adpt = new SqlDataAdapter(checkQuestion1);
DataSet ds = new DataSet();
adpt.Fill(ds);
using (SqlDataReader re = checkQuestion1.ExecuteReader())
{
    if (re.Read())
    {
        RunningScore++;
        CurrentPercentage = CurrentPercentage + 6.66;
    }
    con.Close();
    int count = ds.Tables[0].Rows.Count;
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

在您的选择语句中添加Question_Id并使用它来查找正确的答案。