Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

Кодировка таблицы в BDE   Найти похожие ветки 

 
Stas   (2002-12-13 11:43) [0]

Подскажите пожалуйста как программно можно изменить кодировку таблицы BDE, типа как в DataBase Desktop, без потери данных.


 
MsGuns   (2002-12-13 13:38) [1]

Вопрос, а зачем ? ИМХО, проще переписать данные из таблицы БД с одной кодировкой в таблицу БД с другой.


 
Stas   (2002-12-13 14:00) [2]

Строки написанные русским языком в Paradox 3.0 отображаються неправильно, даже если их перенести в таблицу с другой кодировкой, а вот если изменить кодировку таблицы в Database desktop, то данные будут отображаться правильно.


 
Anatoly Podgoretsky   (2002-12-13 14:08) [3]

Ну так измени в Database desktop, чего мучаешься, или изучай dbiDoStructure, но тогда тебе не позавидуешь


 
sniknik   (2002-12-13 14:31) [4]

procedure ChangeLangDriver(DatabaseName, TableName, LDName: string);
var
TblExt: string;
Database: TDatabase;
TblDesc: CRTblDesc;
OptDesc: FLDDesc;
OptData: array [0..250] of Char;
Cur: hDBICur;
Rec: CFGDesc;
begin
if (TableName="") or (LDName="") then raise Exception.Create("Unknown TableName or LDName");
Database:=Session.OpenDatabase(DatabaseName);
try
if Database.IsSQLBased then raise Exception.Create("Function ChangeLangDriver working only with dBase or Paradox tables");
FillChar(OptDesc, SizeOf(OptDesc), #0);
FillChar(TblDesc, SizeOf(TblDesc), #0);
StrCopy(OptDesc.szName, "LANGDRIVER");
OptDesc.iLen:=Length(LDName)+1;
with TblDesc do begin
StrPCopy(szTblName, TableName);
TblExt:=UpperCase(ExtractFileExt(TableName));
if TblExt=".DBF" then StrCopy(szTblType, szDbase)
else if TblExt=".DB" then StrCopy(szTblType, szParadox)
else begin
AnsiToOEM(StrPCopy(OptData, DatabaseName), OptData);
if DbiOpenCfgInfoList(nil, dbiREADONLY, cfgPersistent, StrPCopy(OptData, "\DATABASES\"+StrPas(OptData)+"\DB INFO\"),Cur)<>DBIERR_NONE
then raise Exception.Create("Unknown table type");
try
while DbiGetNextRecord(Cur, dbiNOLOCK, @Rec, nil)<>DBIERR_EOF do
if StrComp(Rec.szNodeName, "DEFAULT DRIVER")=0 then begin
StrCopy(szTblType, Rec.szValue);
Break;
end;
finally
Check(DbiCloseCursor(Cur));
end;
end;
iOptParams:=1;
pfldOptParams:=@OptDesc;
pOptData:=@OptData;
end;
StrPCopy(OptData, LDName);
Check(DbiDoRestructure(Database.Handle, 1, @TblDesc, nil,nil, nil, False));
finally
Session.CloseDatabase(Database);
end;
end;

//вызов
ChangeLangDriver("D:\", "Test.Db", "cyrr")


но Paradox 3.0? действительно? мне казалось что в старом формате не прописывается драйвер. в общем попробуй может получится.


 
Stas   (2002-12-13 14:33) [5]

В десктопе не очень удобно изменять, а вот dbiDoStructure это можно, только есть по нему какое нибудь описание на русском, а тоя в bde32.hlp ничего не понял.


 
Stas   (2002-12-13 14:36) [6]

Спасибо sniknik. Буду пробовать.


 
Stas   (2002-12-13 14:40) [7]

Sniknik, Все отлично работает Спасибо !!!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
6-15199
Di_wind
2002-11-08 14:34
2003.01.06
Старая тягомотина(WebBrowser)


14-15278
AFrolov
2002-12-16 16:39
2003.01.06
посоветуйте хороший компонент для построения гафиков


3-14943
Z-Yuri
2002-12-11 21:35
2003.01.06
Снова о сортировке строк, как чисел.


1-14996
Cossys
2002-12-23 18:30
2003.01.06
Была форма MDI, стала Нормал...


7-15318
ALexe K
2002-09-18 15:57
2003.01.06
Как сделать свою звонилку?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский