VB.NET把多個combobox條件查詢到的資料一起用datagridview顯示,為什么我的點查詢后datagridview不顯示資料。

全部代碼:
Public Class Studentclassenquiry
Dim objConn As New MySqlConnection
Dim objComm As New MySqlCommand
Dim DA As New MySqlDataAdapter
Dim DS As New DataSet
'objConn.ConnectionString = My.Forms.Login.Conn
Private Sub Studentclassenquiry_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
objConn.ConnectionString = My.Forms.Login.Conn
DS.Tables.Clear()
DS.Clear()
DA = New MySqlDataAdapter("select * from camnpus ", objConn)
DA.Fill(DS, "camnpus")
'ComboBox1.DataSource = DS.Tables(0)
ComboBox1.DisplayMember = "Caname"
ComboBox1.ValueMember = "CaId"
ComboBox1.DataSource = DS.Tables(0)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
DS.Tables.Clear()
DS.Clear()
DA = New MySqlDataAdapter("select * from building where CamId='" & ComboBox1.SelectedValue.ToString() & "'", objConn)
DA.Fill(DS, "building")
ComboBox2.DisplayMember = "Bname"
ComboBox2.ValueMember = "BId"
ComboBox2.DataSource = DS.Tables(0)
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
DS.Tables.Clear()
DS.Clear()
objConn.Open()
DA = New MySqlDataAdapter("select * from classroom where BuiId='" & ComboBox2.SelectedValue.ToString() & "'", objConn)
DA.Fill(DS, "classroom")
ComboBox3.DisplayMember = "Came"
ComboBox3.ValueMember = "CId"
ComboBox3.DataSource = DS.Tables(0)
objConn.Close()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
objConn.ConnectionString = My.Forms.Login.Conn
DS.Tables.Clear()
DS.Clear()
Dim dt As New DataTable
objConn.Open()
DA = New MySqlDataAdapter("select CamId as 校區,BuId as 教學樓,ClassId as 教室編號,Classname as 教室名稱, UseId as 使用者編號,UseBegin as 開始時間,UseEnd as 結束時間,Userstatus as 使用者型別 from byclassroom where BuId='" & ComboBox2.SelectedValue.ToString() & "'AND ClassId='" & ComboBox3.SelectedValue.ToString() & "'", objConn)
DA.Fill(DS, "byclassroom")
dt = DS.Tables("byclassroom")
objConn.Close() '關閉資料庫
DataGridView1.AutoGenerateColumns = True '自動創建列
DataGridView1.DataSource = dt
End Sub
End Class
uj5u.com熱心網友回復:
看到你這Button6,ComboBox1,ComboBox2,ComboBox3就來氣,除非應付考試和作業,否則早點改掉這臭毛病,控制元件拖出來就立刻命名,否則你回頭看一行都是沒意義的控制元件名,鬼知道是什么內容。看代碼應該不至于不會排錯,如果累了就出去走走,靜下心來再看代碼,仔細分析下原因,不顯示?還是查詢沒有結果?還是有報錯?順著這個思路,逐條加斷點去看運行到某處的變數是否是你期待的,比如查查sql陳述句,不論對不對了,只要不報錯可能就是格式沒錯,但邏輯有問題,復制出來到資料庫軟體中去執行一下,調好sql陳述句再回來看拼接的對不對。
思路如此,代碼質量太低,沒耐心看,自己除錯一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/274955.html
標籤:VB.NET
上一篇:多執行緒問題
