Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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
Вместо
  1. AND ET=...

делай
  1. AND ISNULL(ET, '')=...


Кстати добавлять в запрос содержимое 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(Поле - где нулевый значения,Возвращаемое значение - тое может быть пробелили число или слово)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам