2016-06-12 7 views
0

SQL文でselect case文を使用しようとしています lbl1.textが1でx = "column1"のときに4つのカラムがあり、SQL声明 私はこのコードvb.netでSQLクエリ文を使用して選択条件を使用する

Dim x As String 
    Select Case lbl1.Text 
     Case 1 
      x = "column1" 
     Case 2 
      x = " column2" 
     Case 3 
      x = " column3" 
     Case 4 
      x = " column4" 
      DGV1.Columns.Clear() 
      Dim dt As New DataTable 
      dt.Clear() 
      DGV1.Visible = True 
      Dim comm2 As New SqlCommand 
      comm2.CommandText = Nothing 
      DGV1.Refresh() 
      comm2.CommandText = "select first_name,last_name,age from students where " + x + "=" + "yes" + "" 
      comm2.Connection = sqlconn 
      sqlconn.Open() 
      dr2 = comm2.ExecuteReader 
      dt.Load(dr2) 
      DGV1.AutoGenerateColumns = True 
      DGV1.DataSource = dt 
      DGV1.Refresh() 
      sqlconn.Close() 
      DGV1.Visible = True 
      comm2.Dispose() 
    End Select 

と= 1または2または3lbl1.textは、それがSQL文を実行しますが、とき= 4lbl1.textは、それがSQL文を実行していますしないを試してみてください 誰でもこのコードで私を助けることができます

答えて

1

薄暗いがString のSelect Case lbl1.Text ケース1 のx =としてのX `

ブレークが右の構文であれば私は知らないが、私はこれは正しいコードであることを保証し、このコードを試してみてください"column1"

Case 2 
     x = " column2" 

    Case 3 
     x = " column3" 

    Case 4 
     x = " column4" 

End Select 
     DGV1.Columns.Clear() 
     Dim dt As New DataTable 
     dt.Clear() 
     DGV1.Visible = True 
     Dim comm2 As New SqlCommand 
     comm2.CommandText = Nothing 
     DGV1.Refresh() 
     comm2.CommandText = "select first_name,last_name,age from students where " + x + "=" + "yes" + "" 
     comm2.Connection = sqlconn 
     sqlconn.Open() 
     dr2 = comm2.ExecuteReader 
     dt.Load(dr2) 
     DGV1.AutoGenerateColumns = True 
     DGV1.DataSource = dt 
     DGV1.Refresh() 
     sqlconn.Close() 
     DGV1.Visible = True 
     comm2.Dispose()` 
+0

ありがとう:) –

関連する問題