Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 18.04.2014
Сообщений: 60
1

Поиск по БД и определение отсутствия необходимой информации

07.05.2014, 02:10. Показов 669. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Снова здравствуйте! :-) Снова я с новой темой. ))) Весь вечер потратил на поиск, но так и не нашел опять... Про поиск-то по БД инфы много и это довольно просто (по крайней мере на том уровне, который мне нужно), но вот теперь мне понадобилось вот что:
Есть текстовое поле, пользователь вводит туда любые данные типа string. Нужно чтобы программа проверила, есть ли введенная информация в базе данных или нет. Если есть - действие 1, если нет - действие 2. Пробовал делать обычным поиском, но когда введенная информация в БД отсутствует, вылетает ошибка об отсутствии параметра(ов), ибо считывать ем нечего.
Код получается следующий:
VB.NET
1
2
3
4
5
6
7
8
9
Dim CONNECTION As New OleDb.OleDbConnection()
        CONNECTION.ConnectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\TestAccess.mdb")
        CONNECTION.Open()
        Dim COMMANDcheck As New OleDb.OleDbCommand("SELECT English FROM Таблица1 WHERE English = " & txtAddEng.Text, CONNECTION)
        Dim DATAREADERcheck As OleDb.OleDbDataReader = COMMANDcheck.ExecuteReader
        DATAREADERcheck.Read()
        FindCheck = DATAREADERcheck.GetValue(0)
        If FindCheck = "" Then lblAddEng.ForeColor = Color.Red Else lblAddEng.ForeColor = Color.OliveDrab
End Sub
Всем заранее спасибо! :-)

Добавлено через 1 час 47 минут
В приведенном коде была ошибка - в запросе нужно добавить одиночные кавычки. В общем с этим справился, но ошибка теперь выскакивает здесь
VB.NET
1
FindCheck = DATAREADERcheck.GetValue(0)
Что логично. Поэтому пытался через ошибку сделать - то есть если она выдает ошибку именно тогда, когда ничего не находит в БД, то я использовал конструкцию
VB.NET
1
2
3
4
        On Error Resume Next
        FindCheck = DATAREADERcheck.GetValue(0)
        If IsError(FindCheck) = False Then lblAddEng.ForeColor = Color.OliveDrab Else lblAddEng.ForeColor = Color.Red
        Err.Clear()
Но почему то, вне зависимости от того, есть ли введенная информация в БД или нет, всегда возвращается IsError = False. Видимо я что-то не так делаю. )))
Поэтому по прежнему очень жду помощи. :-)

Добавлено через 25 минут
В итоге получилось. :-) Наверняка это способ далеко не самый оптимальный, но получилось! )))
А сделал так:
VB.NET
1
2
3
4
5
6
        Dim COMMANDcheck As New OleDb.OleDbCommand("SELECT English FROM Таблица1 WHERE English = '" & txtAddEng.Text & "'", CONNECTION)
        Dim DATAREADERcheck As OleDb.OleDbDataReader = COMMANDcheck.ExecuteReader
        DATAREADERcheck.Read()
        check = DATAREADERcheck.HasRows
        If check = False Then lblAddEng.ForeColor = Color.OliveDrab Else lblAddEng.ForeColor = Color.Red
        CONNECTION.Close()
Но всё равно жду от вас наверное какой-то более оптимальный способ проверки на наличие информации в БД. :-)

Добавлено через 1 минуту
P.S.: Пошел спать - на что у меня есть аж 5 часов. )))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2014, 02:10
Ответы с готовыми решениями:

Поиск необходимой информации в текстовом документе
Здравствуйте. начинаю изучение питона. Наткнулся на интересное задание. Кто сможет помочь...

Извлечение необходимой информации из Memo в StringGrid
Есть два поля: Edit и Memo В Edit забита фоункция F=2x1+3x2 В Memo - система ограничений ...

Извлечение необходимой информации из текстового файла
Здравствуйте. Есть файл 1.txt, например, со следующим содержанием: El one 5.22% (6) El two 2.61...

Способ хранения информации необходимой для работы программы
Доброго времени суток. На данный момент информация, нужная для работы программы, хранится в...

6
Заблокирован
07.05.2014, 07:42 2
'" & txtAddEng.Text & "' - Будет искать точное совпадение. А вариант: LIKE '%" & txtAddEng.Text & "%' будет искать любые символы.
1
2 / 2 / 0
Регистрация: 18.04.2014
Сообщений: 60
08.05.2014, 09:41  [ТС] 3
Цитата Сообщение от inv.DS Посмотреть сообщение
'" & txtAddEng.Text & "' - Будет искать точное совпадение. А вариант: LIKE '%" & txtAddEng.Text & "%' будет искать любые символы.
Большое спасибо! :-) Каждый новый совет как глоток свежего воздуха! :-) Очень благодарен!

Добавлено через 11 часов 2 минуты
inv.DS, ну а сам способ нормальный? Ведь может есть какие то более рационральные способы понять, отсутствует ли введенная пользователем информация в БД? :-)
0
Заблокирован
08.05.2014, 12:36 4
Gaidn, Что ты хочешь, чего тебе надо добиться?
0
2 / 2 / 0
Регистрация: 18.04.2014
Сообщений: 60
08.05.2014, 13:29  [ТС] 5
inv.DS, пользователь вводит в текстовое поле слово. В случае, если введенное слово уже есть в БД, совершается одно действие; если его нет в БД - совершается другое действие. Соответственно, мне нужно просто выполнить проверку, есть ли уже в базе данных введенное пользователем слово или нет.
0
Заблокирован
08.05.2014, 13:46 6
Gaidn, А если он введет сначала Иванов, а потом Иван ов как будешь проверять?
0
2 / 2 / 0
Регистрация: 18.04.2014
Сообщений: 60
08.05.2014, 13:50  [ТС] 7
Цитата Сообщение от inv.DS Посмотреть сообщение
Gaidn, А если он введет сначала Иванов, а потом Иван ов как будешь проверять?
У меня что-то вроде англо-русского и русско-английского словаря будет, поэтому в моем случае, слово должно восприниматься как есть. :-)
0
08.05.2014, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2014, 13:50
Помогаю со студенческими работами здесь

Определение отсутствия в тексте повторных символов
Эта программа запрашивает текст и отвечает Yes - (в тексте каждый символ в одном экземпляре) No -...

Разработка системы сбора, хранения и обработки необходимой информации с функцией рекламы деятельности организации
Всем привет! Перейду сразу к делу, есть Тех.задание, которое я приведу ниже: НАЗНАЧЕНИЕ...

Определение с помрщью PERL присутствия (отсутствия) пользователя на конкретной странице.
Как опрделить с помрщью PERL прсутсвие пользователя, например в форуме? Только не пишите...

Поиск необходимой комбинации знаков в RichTextBox
Ребята , подскажите! Мне нужно каким-то образом просканировать richTextBox на наличие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru