0

データベースを呼び出して、パイプで区切られた文字列を取得し、配列に分割してテキスト ボックスに入力します。この正確なコードは、このインスタンスを除く他のすべてのインスタンスで機能し、その理由を理解できます。このインスタンスは、文字列の最初の 2 文字のみを 2 つのテキスト ボックスに出力します。

クエリから得られるデータは、「これはテストです|これはテストです」のようになります

    Dim queryString3 As String = "SELECT Answer FROM ShortAnswers where questionNumber = 12 and submission = 1375"
    Using connection As New SqlConnection(My.Settings.ConnString)
        Dim command As New SqlCommand(queryString3, connection)
        connection.Open()
        Dim rdr As String = command.ExecuteScalar()
        Dim P3 As String
        P3 = rdr
        Dim Part3 As New ArrayList(P3.Split("|"c))
        TextBoxA.Text = Part3(0)
        TextBoxB.Text = Part3(1)

この例では、テキストボックス a は値 "t" を取り、テキストボックス b は "h" の値を取ります ("this is a test|this is a test" の最初の 2 文字)。

このほぼ同一の作品が動作します

    Dim queryString As String ="SELECT Answer FROM ShortAnswers where questionNumber = 11 and submission = 1375"          
        Using connection As New SqlConnection(My.Settings.OnLineTestingDB)
        Dim command2 As New SqlCommand(queryString, connection)
        connection.Open()
        Dim rdr1 As String = command2.ExecuteScalar()
        Dim P2 As String
        P2 = rdr1
        Dim Part2 As New ArrayList(P2.Split("|"c))
        Normal.Text = Part2(0)
        Normal1.Text = Part2(1)
        Normal2.Text = Part2(2)
    End Using
4

1 に答える 1

1

問題は、配列ではなく文字列から文字を取得していたことでした

Dim Part3 As New ArrayList(P3.Split("|"c))
   TextBoxA.Text = P3(0)
   TextBoxB.Text = P3(1)

今のように見えます

Dim Part3 As New ArrayList(P3.Split("|"c))
   TextBoxA.Text = Part3(0)
   TextBoxB.Text = Part3(1)

問題を修正しました、あなたの助けに感謝します、時々あなたはあなたを目覚めさせるために余分な目のセットが必要なだけです

于 2013-02-07T18:17:12.423 に答える