![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS SQL + ADO [D7]
just © (2004-07-15 11:47:00)Программно создается sql-запрос, где присутствуют русские буквы,
например: LIKE '%про%', ADOQuery на это не реагирует, понимает только латинский алфавит.
В Query Analyser все работает.
Вопрос такой: что делать?
sniknik (2004-07-21 15:17:00) [21]> я так и делаю!!!!!!
что?????
нам то дай убедится, приведи пример вместе с искомыми данными по описаной в [33] технологии. или непонятно спросил?
Ega23 (2004-07-21 15:16:00) [22]я так и делаю!!!!!!
Ты выполнила ИМЕННО ЭТОТ ЗАПРОС:
Select * from computer where comp_name LIKE '%АЛ%'
?
На клиенте и в QA?
И каков результат?
just (2004-07-21 15:10:00) [23]>ega32 и sniknik
я так и делаю!!!!!!
sniknik (2004-07-21 15:06:00) [24]> не работает даже в QA
значит его там нет.
найди руками что там должно быть по твоему и скопируй сюда, только по технологии пасте/копи(!!!!) а не набором прям сдесь (потому как это будет твоя догадка а не реальность).
Ega23 (2004-07-21 15:06:00) [25]just (21.07.04 14:56) [30]
Блин, объясняю на пальцах:
1.
в твой AdoQuery.Sql введи текст:
Select * from computer where comp_name LIKE '%АЛ%'
Потом настрой грид на этот Query и запусти программу.
2.
Этот же запрос выполни в QA
3. Сравни результаты запросов.
just (2004-07-21 14:58:00) [26]>LIKE '%'+convert(varchar(2), 0xC0CB)+'%'
обязано сработать (для 'АЛ')
не работает даже в QA
just (2004-07-21 14:56:00) [27]>Т.е. вот такой запрос Select * from computer where comp_name LIKE '%АЛ%' из на клиенте, и в QA проходит ОДИНАКОВО, ты это хочешь сказать?
Откуда мне знать, какой запрос приходит в QA?
Я просто копирую его туда
Ega23 (2004-07-21 14:54:00) [28]Т.е. вот такой запрос Select * from computer where comp_name LIKE '%АЛ%' из на клиенте, и в QA проходит ОДИНАКОВО, ты это хочешь сказать?
sniknik (2004-07-21 14:42:00) [29]> есть, конечно
тогда
LIKE '%'+convert(varchar(2), 0xC0CB)+'%'
обязано сработать (для 'АЛ')
just (2004-07-21 14:40:00) [30]>Что выдаёт в QA и из-под клиента?
выдает нужную выборку
>А поле в таблице не юникодное?
тип поля varchar
>И все-таки сделай что-нибудь, чтобы Locale identifier стало правильным.
я делаю это программно (оно устанавливается в 1049 - теперь я знаю что это), но хоть бы хны
just (2004-07-21 14:35:00) [31]>а код до этого? он же тебе готовый кусок для провекри дал. а ты из него значит кусок вырвал и говориш не помогает и не может. да?
использовала веськод
>настройки в системе на русский лучше сделай, чтобы вопросиков не было.
настройки и так русские
в builder же все ок
Nikolay M. (2004-07-21 14:34:00) [32]А поле в таблице не юникодное?
И все-таки сделай что-нибудь, чтобы Locale identifier стало правильным.
Ega23 (2004-07-21 14:34:00) [33]Select * from computer where comp_name LIKE '%АЛ%'
Что выдаёт в QA и из-под клиента?
just (2004-07-21 14:31:00) [34]>Так может просто в БД таких записей нету, а? :о)
есть, конечно
Ega23 (2004-07-21 14:27:00) [35]' SELECT DISTINCT otdel.id_otd,otdel.otd_name,computer.id_comp,
computer.comp_name FROM otdel FULL OUTER JOIN computer ON otdel.id_otd = computer.id_otd WHERE
computer.comp_name LIKE '%AL%' ' нормально воспринимается ADOQuery,
'SELECT DISTINCT otdel.id_otd,otdel.otd_name,computer.id_comp,
computer.comp_name FROM otdel FULL OUTER JOIN computer ON otdel.id_otd = computer.id_otd WHERE
computer.comp_name LIKE '%АЛ%' ' - нет, т.е. ошибки не выдает, а результат запроса - пусто, понимаете?
Так может просто в БД таких записей нету, а? :о)
sniknik (2004-07-21 14:22:00) [36]> Это не помогло и не поможет, т.к. дело не в Sql, а в delphi
странно, у меня в дельфи все в порядке...
>select A from @t where A like '%'+convert(varchar(200),0xF0F3F1F1)+'%'
а код до этого? он же тебе готовый кусок для провекри дал. а ты из него значит кусок вырвал и говориш не помогает и не может. да?
> Переустановка delphi 7 не помогла
настройки в системе на русский лучше сделай, чтобы вопросиков не было.
just (2004-07-21 14:09:00) [37]причем в c++ Builder 5 Locale Identifier = 2047
just (2004-07-21 14:08:00) [38]
select A from @t where A like '%'+convert(varchar(200),0xF0F3F1F1)+'%'
Это не помогло и не поможет, т.к. дело не в Sql, а в delphi
в c++ Builder 5 - все нормально
в delphi - tools | translation tools options
вместо названий шрифтов (поле language) - вопросы (пр. - '?????')
Переустановка delphi 7 не помогла
В чем может быть проблема?
ZrenBy (2004-07-20 18:29:00) [39]
declare @t table (A varchar(200))
insert into @t values('русский')
insert into @t values('qweqweq')
select A from @t where A like '%'+convert(varchar(200),0xF0F3F1F1)+'%'
just (2004-07-20 18:13:00) [40]
AdoCommand1.Properties.Item['SQL Content Query Locale String']:= 'GE';
strLocale := Request.ServerVariable('HTTP_ACCEPT_LANGUAGE');
AdoCommand1.Properties.Item['SQL Content Query Locale String'] = strLocale;
1 и 3 строки - read-only properties, а во 2 строке он Request
не распознает, кстати что это?