Я написал следующий код, чтобы отфильтровать людей, кто хочет бюллетень по почте или по электронной почте:Выберите, используя -1 в TinyInt поле на 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 (неконтролируемые).
Я действительно не понимаю, почему это не работает. Надеюсь, кто-то может помочь.
Устранена проблема, спасибо !. Для стартера, подобного мне, это такая маленькая деталь, я даже не заметил, что между ними есть разница. Спасибо за вашу помощь! –