![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS SQL + ADO [D7]
just © (2004-07-15 11:47:00)Программно создается sql-запрос, где присутствуют русские буквы,
например: LIKE '%про%', ADOQuery на это не реагирует, понимает только латинский алфавит.
В Query Analyser все работает.
Вопрос такой: что делать?
just (2004-07-20 17:59:00) [41]В msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixqlang_6yer.asp:
AdoCommand.Properties("SQL Content Query Locale String") = "GE"
А AdoCommand вообще обязателен?
just (2004-07-20 17:48:00) [42]что же делать?
bushmen (2004-07-20 17:46:00) [43]> а разве не 1049?
Да, конечно, я просто скопировал.
just (2004-07-20 17:46:00) [44]что означает это свойство?
just (2004-07-20 17:44:00) [45]Попробуй так:
AdoConnection1.Properties.Item['Locale Identifier'].Value := 2047;
а разве не 1049?
Пробовала 1049 - не помогло, все то же самое
bushmen (2004-07-20 17:40:00) [46]> Что за синтаксис такой странный?
Так это же MSDN
Попробуй так:
AdoConnection1.Properties.Item['Locale Identifier'].Value := 2047;
just (2004-07-20 17:36:00) [47]Что за синтаксис такой странный?
AdoConnection.Properties("Locale Identifier") = 1033
Nikolay M. (2004-07-20 17:26:00) [48]
> пробовала исправить, обратно возвращается 2047
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixqlang_6yer.asp
just (2004-07-20 17:14:00) [49]Вставь строку
messagedlg(ADOQuery1.SQL.GetText, mtInformation, [mbOK], 0);
и посмотри, что выдается
выдается нормальный sql-запрос, который нормально обрабатывается query analyser
1049
?
а что такого?
пробовала исправить, обратно возвращается 2047
Кстати, что он означает?
Nikolay M. (2004-07-20 17:07:00) [50]
> Locale identifier = 2057
1049
?
bushmen (2004-07-20 16:52:00) [51]Вставь строку
messagedlg(ADOQuery1.SQL.GetText, mtInformation, [mbOK], 0);
и посмотри, что выдается
just (2004-07-20 16:08:00) [52]1) Таки неплохо бы посмотреть профайлером, какой запрос идет на сервер.
2) У ADOConnection в Data Liknk properties/All есть параметры Auto translate, Current language и
Locale identifier - чему они равны?
1) смотрела, не помогло
2) Auto translate = true
Current language = ничего
Locale identifier = 2057
Дело все в том, что запросы типа ' 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 '%АЛ%' ' - нет, т.е. ошибки не выдает, а результат запроса - пусто, понимаете?
Помогите кто-нибудь!
Nikolay M. (2004-07-15 13:20:00) [53]1) Таки неплохо бы посмотреть профайлером, какой запрос идет на сервер.
2) У ADOConnection в Data Liknk properties/All есть параметры Auto translate, Current language и Locale identifier - чему они равны?
NAlexey (2004-07-15 12:28:00) [54]>just (15.07.04 12:12) [2]
А почему ты решила что в Query нет? Приведи текст запроса и примера. И то как ты решаешь что в Query нет.
just (2004-07-15 12:12:00) [55]>Ты профайлером смотрел какой в точности запрос идет на сервер?
Я загоняла запрос в Memo для проверки,
копировала этот запрос в Query Analyser - все ОК.
ADOQuery - нет.
В чем дело?
NAlexey (2004-07-15 11:50:00) [56]>just (15.07.04 11:47)
Ты профайлером смотрел какой в точности запрос идет на сервер?