2017-03-27 18 views
0

idが以前に生成された番号と同じであるデータベースからデータを表示しようとすると、残念ながら私は 'where句で未知の列q1'というエラーを受け取ります。データベーステーブルにはidtopic1、question、answerの3つのカラムがあります。どんな助けでも感謝しています。ここでid = random numberのデータを取得してデータベースから表示する方法は?

は私のコードです:

Private Sub ViewBtn_Click(sender As Object, e As EventArgs) Handles ViewBtn.Click 
    MysqlConn = New MySqlConnection 
    MysqlConn.ConnectionString = 
    "server=localhost;userid=root;password=root99;database=database" 
    Dim READER As MySqlDataReader 
    Dim rndnum As Random 
    Dim q1 As Integer 
    rndnum = New Random 
    q1 = rndnum.Next(1,5) 
    Dim q1display As String 

    Try 
     MysqlConn.Open() 
     Dim Query As String 
     Query = "select question from database.topic1 where idtopic1= q1" 
     COMMAND = New MySqlCommand(Query, MysqlConn) 
     READER = COMMAND.ExecuteReader 
     q1display = Convert.ToString(COMMAND.ExecuteScalar()) 
     q1box.Text = q1display 

     MysqlConn.Close() 
    Catch ex As MySqlException 
     MessageBox.Show(ex.Message) 
    Finally 
     MysqlConn.Dispose() 
    End Try 
    End Sub 
    End Class 
+0

私はまだエラーを受け取り、今それは言う:「は既に存在しています最初に閉じなければならないこの接続に関連付けられたデータレディアを開きます。私はこれが何を意味しているのかわからない、私は以前の接続が表示されません。 – Niam

+0

私はそれを解決しました、query = "database.topic1から質問を選択します。ここでidtopic1 = '"&q1& "'"、すべてのREADER文も削除します。 – Niam

答えて

2

変更し、次の行:

Query = "select question from database.topic1 where idtopic1= q1" 

へ:

Query = "select question from database.topic1 where idtopic1= " & q1 
+0

私は既にこの問題を解決しました。ありがとう – Niam

関連する問題