Hufler443 Ответов: 1

Если в моем текстовом поле ничего нет и я нажал кнопку Поиск, то что мне делать?


Dim xId как целое число
Dim con As ADODB.Connection
Набор кон = новый объект adodb.Подключение
Дим rsSearch как adodb.Записей
Набор rsSearch = новый объект adodb.Записей
против.Откройте "Поставщика=Майкрософт.Джет.Oledb для.4.0;Источник данных=" &амп; приложение.Path & "\librarydb.mdb;Persist Security Info=False"

Стрид = Текст1.Текст

rsSearch.Открыть "выбрать * из Studenttbl где ID=" &амп; Стрид &ампер; "", кон, adOpenStatic, adLockOptimistic

Если rsSearch.BOF = True или rsSearch.Тогда EOF = True
MsgBox "Запись Не Найдена."

Выход Из Субмарины
Еще
Текст1.Text = rsSearch!ID
Text2.Text = rsSearch!имя
Текст3.Текст = rsSearch!фамилия
Текст4.Текст = rsSearch!Раздел
rsSearch.Закрывать

Конец, Если
Это моя проблема
-рссеарч.Открыть "выбрать * из Studenttbl где ID=" &амп; Стрид &ампер; "", кон, adOpenStatic, adLockOptimistic"

Это команда кнопки поиска

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

Я еще ничего не пробовал, поэтому пришел сюда и надеялся на помощь, на самом деле это проект, и я только начинаю изучать vb6

Richard Deeming

rsSearch.Open "select * from Studenttbl where ID=" & strId & "", con, adOpenStatic, adLockOptimistic

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]

1 Ответов

Рейтинг:
2

Richard MacCutchan

Во-первых, забудьте о VB6, он давно мертв. Купите себе копию Скачать Visual Studio 2019 для Windows и Mac[^] Community Edition, которое является бесплатным. Затем вы можете начать работать над VB.NET который является самым современным и поддерживаемым Visual Basic.

Во-вторых, когда вы извлекаете некоторые данные из поля, которое должно быть заполнено пользователем, первое, что вы всегда должны делать, это проверять его. Проверьте, что он не пустой, находится в правильном формате, имеет допустимые символы и т. д. Не думайте, что пользователь так же умен, как и вы.