pak Delphi+InterBase :(

6 отговора 170 прегледа
#1

pak Delphi+InterBase :(

Импортвам една таблица от Fox Pro в InterBase. Всичко си върви добре, до момента в който и-беса не срещне символ на кирилица. Чарсета е win1251, a полето е varchar. Не съм много наясно с i-base, така че предварително се извинявам ако питам нещо тъпо.

Благодаря предварително

Отговор
в отговор на dalt #2

С какво го правиш ?

В смисъл ти ли си си правил tool -а или ползваш нещо готово ?
Ако си го правил ти дай малко подробности.

---
Е т'ва е живот!
Отговор
в отговор на PhantomAS #3

Re: С какво го правиш ?

Това е кода за прехвърлянето в I-base-а

Query:=Tstringlist.Create;
Label1.Caption:='insert into nomen values ('''+sap+''','''+name+''','+min+','+max+','''+m+''','''+pm+''')';
Form1.Update;
query.Add('insert into names1 values ('''+sap+''','''+name+''','+min+','+max+','''+m+''','''+pm+''')');
IBDataset1.Close;
IBDataset1.SelectSQL.Clear;
IBDataset1.SelectSQL.AddStrings(query);
IBDataset1.Open;

Отговор
в отговор на dalt #4

Re: С какво го правиш ?

Всичко си върви добре, до момента в който и-беса не срещне символ на кирилица
И какво става тогава ???

Чарсета е win1251
Това трябва да е и в базата и в параметрите на TIBDatabase

На първо време вместо TIBDataset за Insert ползвай напр. TIBSQL защото
TIBDataSet is primarily intended for use with SQL SELECT statements

Успех

Отговор
в отговор на dalt #5

Re: С какво го правиш ?

Опитвал ли си с IBTable.Insert?

чети и дишай по-леко
Отговор
в отговор на Pechenia #6

Re: С какво го правиш ?

В интерес на истината май не поставих въпроса в клуба в който му е мястото. Иморта или по скоро Инсерта си става, освен в случаите когато insert командата не срешне символ на кирилица. Тогава просто ми връща грешка от вида на - това не може да бъде обработено.
Пробвах и с директен импорт от дбф в гдб, но е същото. Май че нещата опират до чар-сетове...

Отговор
в отговор на dalt #7

Re: С какво го правиш ?

Не би трявало да е така - да дава грешка при парсване на SQL -а. Ще взема да го пробвам все пак. Пробвай обаче да ги предаваш чрез параметри.

---
Е т'ва е живот!
Отговор