2016-06-12 6 views
0

Я пытаюсь использовать оператор case case с оператором SQL У меня есть 4 столбца, когда lbl1.text равно 1, а затем x = "column1" и поместите это значение в SQL заявление , когда я пытаюсь этот кодuse select case condition with SQL query statement в vb.net

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 

и когда lbl1.text = 1 или 2 или 3 он не работает оператор SQL, но когда lbl1.text = 4 это запустить SQL заявление может кто-нибудь мне помочь в этом коде

ответ

1

попробуйте этот код, я просто не знаю, если перерыв правильный синтаксис, но я гарантирую вам, что это правильный код

`Dim х As String Select Case lbl1.Text Случай 1 х = "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

это работа спасибо :) –