Как я могу "повторно заполнить" свою форму в VB.NET
Привет! У меня есть система массового обслуживания, которая находится в разработке, у меня есть сервер и пять рабочих станций, которые управляют окном массового обслуживания, которое отображает номер следующего в строке. Теперь у меня возникла проблема с системой массового обслуживания, когда контроллер нажимает кнопку "Далее", сервер не отвечает ни на одну из рабочих станций. Мой вопрос заключается в том, как я могу каким-то образом "обновить" форму, которая заставит последнего клиента в очереди появиться в окне очереди. Спасибо!
В настоящее время я использую VS2012 и SQLServer2014.
приведенный ниже код-это то, что я уже пробовал:
Что я уже пробовал:
Private Sub Timer7_Tick(sender As Object, e As EventArgs) Handles Timer7.Tick Timer7.Interval = 5000 Timer7.Enabled = True Try Dim scn As New SqlConnection Dim scm As New SqlCommand Dim str1 As String str1 = "Server=MISKRISTIAN-PC\HMO_OPD;Database=HMO_OPD_QUEUE;User Id=sa;Password=sa;" scn.ConnectionString = str1 scm.Connection = scn scn.Open() scm.CommandText = "SELECT * from ConCon" scm.CommandText = "SELECT * from AppCon" scm.CommandText = "SELECT * from PrioCon" scm.CommandText = "SELECT * from RetCon" scm.ExecuteNonQuery() scn.Close() Catch ex As Exception MessageBox.Show(ex.Message) End Try Refresh() End Sub
CHill60
Единственная команда из вашего кода, которая может быть выполнена, - это "SELECT * from RetCon" ...
Как вы заполняете свое окно в первую очередь?
О - и прекратите использовать sa и определенно не публикуйте свой пароль на открытом сайте!
noob_noob
Можете ли вы дать мне идею, которая может выполнить все четыре из них?
Система заполняет окно, вызывая данные, которые были сгенерированы, когда пользователь нажимает кнопку, которая генерирует билет из системы.
эта система не генерирует конфиденциальную информацию, об этом нечего беспокоиться.
CHill60
- Вы можете дать мне идею, которая может привести в исполнение все четыре из них?..попробуйте использовать scm.ExecuteNonQuery() для каждый из них.
"Система заполняет окно ..." - как! Код! Если вы можете заполнить окно один раз, то вы должны быть в состоянии обновить его, повторно используя по крайней мере часть кода
"эта система не генерирует конфиденциальную информацию, об этом нечего беспокоиться". - я не беспокоюсь, но вы должны быть. Вы дали хакерам все, что им нужно знать, чтобы скомпрометировать вашу систему, притвориться вами, удалить вашу базу данных и т. д.
noob_noob
Private Sub AppNxt_Click(sender As Object, e As EventArgs) Handles AppNxt.Click 'next Dim strHostName1 As String strHostName1 = System.Net.Dns.GetHostName() If (wapp.Text = 0) Then MessageBox.Show("There are no queues as of now!") ElseIf (Queue.Label7.Text < FrmNumApp.NumApp.Text) Then Dim sqlconn5 As New SqlConnection Dim sqlquery5 As New SqlCommand Dim connString5 As String wapp.Text = CStr(CDbl(wapp.Text) - 1) Try connString5 = "Server=MISKRISTIAN-PC\HMO_OPD;Database=HMO_OPD_QUEUE;User Id=sa;Password=sa;" sqlconn5.ConnectionString = connString5 sqlquery5.Connection = sqlconn5 sqlconn5.Open() sqlquery5.CommandText = "INSERT INTO AppCon([Number],[Counter])VALUES(@Number,@Number)" sqlquery5.Parameters.AddWithValue("@Number", Queue.Label7.Text) sqlquery5.Parameters.AddWithValue("@Counter", Queue.Label19.Text) sqlquery5.ExecuteNonQuery() sqlconn5.Close() Catch ex As Exception MessageBox.Show(ex.Message) End Try Queue.Label7.Text = CStr(CDbl(Queue.Label7.Text) + 1) Queue.Label11.Text = "0" My.Computer.Audio.Play(My.Resources.DoorBell, AudioPlayMode.Background) Dim speaker As New SpeechSynthesizer() Dim speak As New Prosody() 'tts speak.Duration = 3 speaker.Rate = -5 speaker.Volume = 100 speaker.Speak("Now serving number " + Queue.Label7.Text) speaker.SelectVoiceByHints(VoiceGender.Male) Queue.Label19.Text = strHostName1 End If End Sub
это функция кнопки "Далее"
noob_noob
функция сохраняет данные в базе данных и отображает их в форме с именем Queue(это форма,которая отображает обслуживаемый номер).
CHill60
Использование ссылки ответа на комментарий уведомляет участника о том, что вы пытаетесь ответить.
Эта субподрядка сбивает с толку - должна ли она отображать очередь или вставлять данные. Разделение забот!
Что вы пытаетесь "освежить" - здесь нет ничего, что упоминало бы таблицы ConCon, PrioCon или RetCon