Эта программа - система бронирования мест, и у меня возникают проблемы при проверке наличия каждого места.Объектов в массиве, изменение их свойств
Когда форма загружается, создается массив и хранит имена мест. Каждое место - это флажок, отображаемый в виде кнопки. Оператор SQL запускается и находит записи с нулевым идентификатором клиента, идентификатором места этого места и датой показа пятницы. Если количество возвращенных записей = 1, задний цвет кнопки галочки станет зеленым, иначе он станет красным.
Код для проверки доступности работает отлично, я просто не уверен, как изменить задний цвет флажка в этой позиции массива для изменения. Я считаю, что это потому, что массив содержит строки, а не объекты. Я провел много исследований по этому вопросу, и я не могу найти решение.
Что мне нужно - это имя места (A1, A2 и т. Д.), Которое должно храниться в массиве, чтобы оно могло использоваться в инструкции SQL, а также способ изменить задний цвет этого места , Всего в общей сложности 197 мест, поэтому мне нужно будет сделать это с помощью массива.
Я был бы очень признателен за решение этой проблемы, и я приведу всю информацию ниже, включая скриншот таблицы базы данных, скриншот дизайна формы и кода.
База данных таблицы: http://gyazo.com/0cf669a1c2144b7174066bdbbd29d3a3
Дизайн формы: http://gyazo.com/b9400018cccd61afb83518e3754df2d4
Private Sub frmSeatPlan_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim seat(11, 15) As String
Dim seatname As String
Dim sql As String
Dim da As OleDb.OleDbDataAdapter
seat(1, 1) = A1.Name
seat(1, 2) = A2.Name
seat(1, 3) = A3.Name
seat(1, 4) = A4.Name
seat(1, 5) = A5.Name
seat(1, 6) = A6.Name
seat(1, 7) = A7.Name
seat(1, 8) = A8.Name
seat(1, 9) = A9.Name
seat(1, 10) = A10.Name
seat(1, 11) = A11.Name
seat(1, 12) = A12.Name
seat(1, 13) = A13.Name
seat(1, 14) = A14.Name
Dim x As Integer
Dim y As Integer
For y = 1 To 1
For x = 1 To 14
seatname = seat(y, x)
con.ConnectionString = dbProvider & dbSource
con.Open() 'opens the connection to the database
sql = "SELECT * FROM Bookings where show_id = 'friday' AND customer_ID is null AND seat_id ='" & seatname & "'"
da = New OleDb.OleDbDataAdapter(sql, con) 'create a data adapter to store the filtered data using the SQL code
MsgBox(sql)
da.Fill(ds, seat(y, x))
'count the number of records with an empty customer id, the show ID of Friday and the seat ID of this seat.
Dim recordCount As Integer
recordCount = ds.Tables(seat(y, x)).Rows.Count
MsgBox(recordCount)
If recordCount = 1 Then
'change backcolor to green
Else
'change backcolor to red
End If
con.Close()
Next x
Next y
End Sub
редактировать свой предыдущий вопрос http://stackoverflow.com/questions/16342882/vb-2010-changing-object-properties-in-a-loop, а не создавать новую – user1937198
@ user1937198 жаль, что я удалил старый вопрос. Надеюсь, что это решило проблему. – darkjoe31
Какую нагрузку вы ожидаете на этом сайте, поскольку загрузка страниц будет дорогостоящей с 197 запросами БД на страницу? – user1937198