DBF и TQuery
От: Подымов Валерий Анатольевич  
Дата: 01.03.02 14:39
Оценка:
Имеется несколько таблиц в файлах *.dbf с драйвером FoxPro и содержащие помимо прочего записи в досовской русской кодировке (866rus). Пока не выставил в опциях BDE эти параметры, базы просматривались вообще в нечитаемом виде, понятное дело. Но когда я пытаюсь с этими же таблицами работать через компонент TQuery, результат SQL-запроса возвращается примерно такой:

####### 36,77 #######

Т.е. цифры нормальные, а вместо букв — решетки. Причем, при обращении к файлам с нормальной виндосовской кодировкой текст воспринимается, как надо. Что делать с кодировкой? Эти *.dbf менять никак нельзя, они заданы как исходные данные. Работать через компонент TTable неудобно, мне надо опрашивать одновременно несколько таблиц, они все взаимосвязаны.
Re: DBF и TQuery
От: alex_dorin Россия  
Дата: 05.03.02 08:11
Оценка:
Здравствуйте Подымов Валерий Анатольевич, Вы писали:

ПВА>Имеется несколько таблиц в файлах *.dbf с драйвером FoxPro и содержащие помимо прочего записи в досовской русской кодировке (866rus). Пока не выставил в опциях BDE эти параметры, базы просматривались вообще в нечитаемом виде, понятное дело. Но когда я пытаюсь с этими же таблицами работать через компонент TQuery, результат SQL-запроса возвращается примерно такой:


ПВА>####### 36,77 #######


ПВА>Т.е. цифры нормальные, а вместо букв — решетки. Причем, при обращении к файлам с нормальной виндосовской кодировкой текст воспринимается, как надо. Что делать с кодировкой? Эти *.dbf менять никак нельзя, они заданы как исходные данные. Работать через компонент TTable неудобно, мне надо опрашивать одновременно несколько таблиц, они все взаимосвязаны. :(


try
{
TStringList *tmp = new TStringList;
tmp->Clear();
tmp->Add("LANGDRIVER=db866ru0");
Session1->ModifyDriver("DBASE", tmp);
tmp->Add("LANGDRIVER=DBwinus0");
Session1->ModifyDriver("DBASE", tmp);
tmp->Free();

Database1->Connected = true;
}
catch( ... )
{
ShowMessage("***loa1_pr НЕМА ЗВ'ЯЗКУ З FOX. ВИКЛИЧТЕ СПЕЦIАЛIСТА");
exit(-1);
}
alex_dorin@rambler.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.