регистр символов в запросах SQL... или "меня ужу глючит

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

регистр символов в запросах SQL... или "меня ужу глючит

Сообщение Cyrax » 25.11.2003 (Вт) 18:03

чёй-то я запрограммировался уже напрочь.
или чего-то где-то упустил...

в общем вот
Код: Выделить всё
with rsLogin
    .ActiveConnection = CN
    .Source = "SELECT * FROM tblUsers WHERE UserName = '" & Session("UserName") & "'"
    .Open
    if .BOF and .EOF then
      ' ошибка - пользователь не существует
    else
...

rsLogin - это ADODB.Recordset (для танкистов)

база .mdb'шная. приведенный выше запрос возвращает запись и в случае, когда Session("UserName")="Name", и когда Session("UserName")="name".
чего и где нужно подкрутить, чтоб он так не делал.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2003 (Ср) 12:07

А что это за функция Session()? Твой провайдер БД о ней знает?
Lasciate ogni speranza, voi ch'entrate.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 26.11.2003 (Ср) 12:47

alibek писал(а):А что это за функция Session()? Твой провайдер БД о ней знает?

Это, наверное, имеется в виду встроенный ASP-объект. В MS SQL на этапе создания БД можно установить будет ли база Case sensitive или нет. В Access я этого не нашёл.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 26.11.2003 (Ср) 12:48

попробуй для сравнения использовать функцию strcomp

.Source = "SELECT * FROM tblUsers WHERE strcomp(UserName, '" & Session("UserName") & "'", 0) = 0

0 в параметрах - это vbBinaryCompare (видимо, в отличие от VB, Access по умолчанию использует vbTextCompare)

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 26.11.2003 (Ср) 13:18

Rainbow писал(а):попробуй для сравнения использовать функцию strcomp

.Source = "SELECT * FROM tblUsers WHERE strcomp(UserName, '" & Session("UserName") & "'", 0) = 0

0 в параметрах - это vbBinaryCompare (видимо, в отличие от VB, Access по умолчанию использует vbTextCompare)

у-уфф. спасибо. разглючили меня...
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 212

    TopList