0
我寫了下面的代碼過濾誰通過郵寄或電子郵件想要一個簡報的人:選擇在TINYINT領域使用-1 MYSQL
Sub loadoverviewnewsletter()
Dim sql As String
Dim sql1 As String
If newslettermail = True Then
sql = "SELECT * FROM Donateurs WHERE 'Newsletter per e-mail' =-1"
sql1 = "SELECT * FROM Donateurs WHERE 'Newsletter per e-mail' =-1"
ElseIf newsletterpost = True Then
sql = "SELECT * FROM Donateurs WHERE 'Newsletter per post' =-1"
sql1 = "SELECT * FROM Donateurs WHERE 'Newsletter per post' =-1"
ElseIf newsletternew = True Then
sql = "SELECT * FROM Donateurs WHERE 'Newsletter per post' =0 AND 'Nieuwsbrief per e-mail' =0"
sql1 = "SELECT * FROM Donateurs WHERE 'Newsletter per post' =0 AND 'Nieuwsbrief per e-mail' =0"
Else
sql = "SELECT * FROM Donateurs"
sql1 = "SELECT * FROM Donateurs"
End If
Dim adapter As New MySqlClient.MySqlDataAdapter(sql, modConnectorHandler.ServerString)
Dim dt As New DataTable("newsletteroverview")
adapter.Fill(dt)
ShowDonateurs.datagrid.DataSource = dt
ShowDonateurs.ShowDialog()
Dim adapter1 As New MySqlClient.MySqlDataAdapter(sql1, modConnectorHandler.ServerString)
Dim cmd1 As New MySqlClient.MySqlCommand(sql1, modConnectorHandler.mysqlconnection)
modConnectorHandler.mysqlconnection.Open()
Dim myreader As MySqlClient.MySqlDataReader = cmd1.ExecuteReader
myreader.Read()
modConnectorHandler.mysqlconnection.Close()
OverviewNewsLetter.Close()
不幸的是,它返回一個空的DataGrid,而當我選擇newsletternew選項,它顯示完整的表格。 「每封電子郵件通訊」和「每封郵件通訊」字段都是tinyint字段,其值可以是-1(表示在應用程序中選中)和0(未選中)。
我真的不明白爲什麼它不工作..我希望任何人都可以幫忙。
它修復了這個問題,謝謝!對於像我這樣的初學者來說,它就是這樣一個細節,我甚至沒有注意到兩者之間存在差異。謝謝你的幫助! –