Главная страница
    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
3-14917
Ops
2002-12-13 14:54
2003.01.06
Сервер рвет все коннекты. Все проги валятся.


14-15308
Ketmar
2002-12-17 16:26
2003.01.06
господа, никто не встречал плугина к фару, чтобы *.SQX-архивы...


1-15007
urza
2002-12-24 13:53
2003.01.06
WinRar


4-15346
Lexa1900
2002-11-17 21:21
2003.01.06
Как отловить нажатие кнопки?


14-15289
zavdim
2002-12-17 10: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
Английский Французский Немецкий Итальянский Португальский Русский Испанский