Страница: 1 |
Страница: 1 |
Вопрос: ввод пустых значений на запрос SQL
Добавлено: 24.03.09 18:26
Автор вопроса: jamba1919
ДОбрый день!
подскажите пожалуйста как правильно сделать. у меня несколько TextBox куда я ввожу значения для запроса в SQL
если ячейка базы и поле запроса совпадют по тексту то все работает, но если они пусты то как бы не совпадают.
Т.е. как сделать что бы и пустые значения сопадали?
вот пример
sql = "select ET,Sites,BSC from BTS_main where Sites = 'DN2001' And ET=" & "'" & ET.Text & "'"
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenForwardOnly, adLockReadOnly
If Not rs.EOF And Not rs.BOF Then
rs.MoveFirst
SitesLab.Caption = rs("Sites")
EtLab.Caption = rs("ET")
BscLab.Caption = rs("BSC")
End If
'Loop
rs.Close
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 24.03.09 18:51
Вместо
делай
Кстати добавлять в запрос содержимое TextBox небезопасно - могут взломать базу данных (http://en.wikipedia.org/wiki/Sql_injection)
Номер ответа: 2
Автор ответа:
jamba1919
Вопросов: 8
Ответов: 9
Профиль | | #2
Добавлено: 25.03.09 16:36
у нас внутрення сеть, так что в плане безопасности нормально
чегото не работает, ругается на недостающий символ
sql = "select ET,Sites,BSC from BTS_main where Sites = 'DN2001' AND ISNULL(ET, '')=" & ET.Text
я наверное чегото не понял?
Номер ответа: 3
Автор ответа:
jamba1919
Вопросов: 8
Ответов: 9
Профиль | | #3
Добавлено: 25.03.09 16:38
там в скобках двойная кавычка или две одинарных? я ставил две одинарных
Номер ответа: 4
Автор ответа:
Aston
ICQ: 214-179-991
Вопросов: 42
Ответов: 272
Профиль | | #4
Добавлено: 25.03.09 20:28
Не знаю, правильно я понял ил нет, но я бы сделал так.
If Et.Text = "" then
sql = "select ET,Sites,BSC from BTS_main where Sites = 'DN2001' And IsNull(ET,"""
Else
sql = "select ET,Sites,BSC from BTS_main where Sites = 'DN2001' And ET='" & ET.Text & "'""
End if
Где IsNull - синтаксис таков IsNull(Поле - где нулевый значения,Возвращаемое значение - тое может быть пробелили число или слово)