Fiínek Cahů Ответов: 1

Два условия в результате


Dim a As String() = {"247.032", "247.038", "009.549", "009.452", "010.328", "009.901", "009.902", "009.948", "247.020", "008.540", "008.978", "009.236", "", "007.821", "007.823", "008.309", "008.310", "008.313", "008.314", "008.472", "008.473", "008.482", "007.821", "008.481", "008.306", "008.307", "010.740", "009.274", "009.275", "007.520", "007.620", "963.709", "007.850"}
            Dim b As String = "5"
            Dim t As String = regCis

            Dim result = a.Any(Function(x) t.StartsWith(x) AndAlso t.EndsWith(b))
            If result = True Then

                provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
                dataFile = "sdf.accdb" ' Change it to your Access Database location
                connString = provider & dataFile
                Dim command As New OleDbCommand("SELECT * FROM Log WHERE [Zákaznické číslo] = '" & TextBox2.Text & "'")
                Dim cnn As New OleDbConnection(connString)
                command.Connection = cnn
                Try
                    cnn.Open()
                Catch
                    MsgBox("Připojení k databázi se nezdařilo.", , "Chyba")
                End Try
                dr = command.ExecuteReader

                If dr.HasRows And t.EndsWith(b) = True Then
                    MsgBox("Čárový kód byl již skenován " & TextBox2.Text, , "Chyba")
                    TextBox2.Clear()
                    tiskEtiketaBut.BackColor = Color.DimGray
                    tiskEtiketaBut.Enabled = True
                    TextBox2.Select()
                    myConnection.Close()

                Else


Что я уже пробовал:

Вот мой код, я хотел бы вставить другое условие для результата за другим хэшроу . Как я могу это сделать? Спасибо.

Если результат верен, то следующее условие посмотрите в базу данных, если номер был отсканирован. А теперь я хочу послать еще за результат и еще для hashrows.

Richard MacCutchan

Ваш вопрос не совсем ясен. Вы хотите сказать, что не знаете, как написать предложение Else? У вас уже есть слово Else, так что же вам нужно написать для этой ситуации?

[no name]

в коде есть else для if hashrows, мне нужно next else для if result=true then. Далее еще в разделе еще покажи мне ошибку

Richard MacCutchan

- покажи мне ошибку."
Ну, мы не можем помочь вам, если вы также не покажете его нам.

[no name]

ошибка: Else должен быть обработан соответствующим if или elsif. Я не знаю, что я делаю не так.

1 Ответов

Рейтинг:
2

Patrice T

Dim command As New OleDbCommand("SELECT * FROM Log WHERE [Zákaznické číslo] = '" & TextBox2.Text & "'")

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]