Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

не отрабатывается селект к базе(( [D7, dBase, FoxPro]


Страницы:   1 2

-=snoop=- ©   (2005-08-03 09:26:00) 

привет всем, кака-то проблема дурацкая(), есть база *.dbf в ней имеется поле code , которое содержит как русские так и латинские буквы, ситыауия в том, что когда запрос имеет вид

lADO2LoginPro.SQL.Add
              ('select * from login.pro where ltrim(rtrim(code)) = '+''''+'ffffff'+'''') ;
....

запрос отрабатывается, а если вот так


lADO2LoginPro.SQL.Add
              ('select * from login.pro where ltrim(rtrim(code)) like '+''''+'кимли'+'''') ;

то (inttostr(lADO2LoginPro.RecordCount)) возиращает значение 0, подскажите, как решить трабл??


Ольга   (2005-08-03 12:05:00) [21]


> содержит как русские так и латинские буквы

Вопрос, я так поняла, не в синтаксисе Like, а в кодировке?
Не выбираются только русские строки или без разницы?


evvcom   (2005-08-03 11:37:00) [22]


> 'select * from login.pro where (code LIKE '+'"'+'%фффффф%'+'"'+')'

Не проще ли:
'select * from login.pro where (code LIKE "%фффффф%")'? Чего извращаться?


Sergey13   (2005-08-03 10:59:00) [23]

2[12] -=snoop=- ©   (03.08.05 10:39)
>по поводу синтаксиса Like Ничего нового не увидел...
Но % добавил. 8-)

>вернул 0 записей
Значит разбирайся с регистром данных в поле CODE.


-=snoop=-   (2005-08-03 10:39:00) [24]

по поводу синтаксиса Like Ничего нового не увидел...

lADO2LoginPro.SQL.Add
              ('select * from login.pro where (code LIKE '+'"'+'%фффффф%'+'"'+')')

вернул 0 записей


-=snoop=-   (2005-08-03 10:24:00) [25]

вот всегда так, простите за мой фр. обосрут, а что конкретно не говорят...


Sergey13   (2005-08-03 10:17:00) [26]

2 -=snoop=- ©  
Воспользуйся советом из [2]


-=snoop=-   (2005-08-03 10:15:00) [27]

Соловьев ©  а что с кодом-то?


-=snoop=-   (2005-08-03 10:11:00) [28]

0 не база дурацкая, а проблема...

2 почему ADO? потому что пользовался ADO и ни каких проблем не возникало, тем более с кодировкой


Соловьев   (2005-08-03 10:02:00) [29]


> привет всем, кака-то проблема дурацкая(), есть база *.dbf
> в ней имеется поле code

это не база дурацкая а прогер который так говорит, тем более посмотрев код

> lcUsrName :=''''+trim(lADO2USERPRO.FieldValues['Code'])+''''
> ;
>              lcGrNm := ''''+trim(lADO2USERPRO.FieldValues['Grupp'])+''''
> ;
>              lADO2LoginPro.SQL.Clear() ;
>              lADO2LoginPro.SQL.Add
>               ('select * from login.pro where ltrim(rtrim(code))
> like '+lcUsrName)

убеждаешся в этом еще раз... читать:
1. TQeruy.Parameters
2. О провйдере через который конектишся.
3. Почему АДО? когда БДЕ с этим лучше будет работать?


-=snoop=-   (2005-08-03 09:58:00) [30]

2 Dell3r ©
вообще кусок кода вот как выглядит

....
lcUsrName :=''''+trim(lADO2USERPRO.FieldValues['Code'])+'''' ;
             lcGrNm := ''''+trim(lADO2USERPRO.FieldValues['Grupp'])+'''' ;
             lADO2LoginPro.SQL.Clear() ;
             lADO2LoginPro.SQL.Add
              ('select * from login.pro where ltrim(rtrim(code)) like '+lcUsrName)
....

lcUsrName = вычисляется в цикле, а "кимли" так для опытов, проверить


-=snoop=-   (2005-08-03 09:49:00) [31]

простите господа...
не "like" , а "="

lADO2LoginPro.SQL.Add
             ('select * from login.pro where ltrim(rtrim(code)) = '+''''+'кимли'+'''') ;

0 а строка есть 100% я ее сам туда пихал.
1 апострофов много, для того чтоб SQL воспринял ''''+'кимли'+'''' как 'кимли', а не как переменную кимли


Dell3r   (2005-08-03 09:46:00) [32]

lADO2LoginPro.SQL.Add
      ('select * from login.pro where ltrim(rtrim(code)) like "кимли") ;


evvcom   (2005-08-03 09:42:00) [33]

А ты уверен, что в login.pro имеется строка с code='кимли'?
Обычно like используют, когда хотят найти записи содержащие данную строку, а не точно ей соответствуют.


Johnmen   (2005-08-03 09:40:00) [34]

Читать LocalSQL.hlp на предмет изучения применения LIKE.


Dell3r   (2005-08-03 09:37:00) [35]

Я что-то про + не понял. Зачем столько апострофов?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо