0

我正在构建一个 Web 应用程序,其中主要有多项选择题和一些简短的答案。同样,所有答案都通过存储过程放入数据库中,然后使用不同的过程进行提取和更正。虽然简短回答问题包含在查询中,但它们没有打印到页面上,相反,我将它们也存储在会话变量中并打印在它们各自的文本框中,问题是审阅者在会话中无法再看到它们超时。所以我想知道如何在 VB.net 中从查询中提取特定行,然后从那里使用它。

这就是我目前拥有的

    Dim P2Ans As String
    P2Ans = Session("Part2")
    Dim Part2Txt As New ArrayList(P2Ans.Split("|"c))
    Normal.Text = Part2Txt(0)
    Normal2.Text = Part2Txt(1)
    Normal3.Text = Part2Txt(2)

我想要的是这样的

    Dim P2Ans As String
    P2Ans = Select.Tables(Answers).Where("QuestionID =X") 'from there take the answer out of the column "Question Answer"

    Dim Part2Txt As New ArrayList(P2Ans.Split("|"c))
    Normal.Text = Part2Txt(0)
    Normal2.Text = Part2Txt(1)
    Normal3.Text = Part2Txt(2)

我不知道这是否可行或最佳实践,所以任何建议都会很棒。

我的回答:像这样

        Dim queryString As String = "SELECT questionAnswer FROM Submissions where   submissionid =" + SID + "and questionNumber = 1"
        Using connection As New SqlConnection(My.Settings.ConnString)
            Dim command As New SqlCommand(queryString, connection)
            connection.Open()
            Dim reader As SqlDataReader = command.ExecuteReader()
4

1 回答 1

1

您可以使用 SqlCommand 对象,将查询传递给它(即 SELECT answer FROM answers WHERE questionid = 'x'),然后使用 SqlDataReader 检索答案并将其保存到变量和/或表单上的控件中。

于 2013-02-05T15:31:08.967 回答