Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Русский текст в FB [D6, FB1.0.3]


КаПиБаРа ©   (2004-10-12 08:48:00) 

Здравствуйте :)
Начал изучать FB. Читаю книжки, но пока в голове просветления нет.
Пытаюсь создать базу с таблицей в которой выполняется правильная сортировка/поиск русских символов.
При попытке внесения в поле NAME таблицы CUSTOMERS записи Ивановвыдается ошибка:
EIBInterBaseError with message 'arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets'.


Создаю базу с помощью TIBDatabase:

 IBDatabase1.Params.Add('USER ''SYSDBA''');
 IBDatabase1.Params.Add('PASSWORD ''masterkey''');
 IBDatabase1.Params.Add('PAGE_SIZE 4096');
 IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1251');
 IBDatabase1.CreateDatabase;


И таблицу с помощью TIBQuery:

CREATE TABLE CUSTOMERS (
ID INTEGER NOT NULL,
NAME CHAR(30) COLLATE PXW_CYRL,
PRIMARY KEY (ID))


Данные вывожу и редактирую в DBGRID подключенному к TIBDataSet.
Настройка IBDataSet
SelectSQL
select * from customers

RefreshSQL
select * from customers
where
id = :id


ModifySQL
update customers
set
 ID = :ID,
 NAME = :NAME
where
 ID = :OLD_ID


InsertSQL
insert into CUSTOMERS
 (ID, NAME)
values
 (:ID, :NAME)


Где грабли?


КаПиБаРа   (2004-10-12 13:18:00) [1]

Deniz ©   (12.10.04 12:23) [7]
Не беспокойся. Давно уже скачал.


Deniz   (2004-10-12 12:23:00) [2]

> КаПиБаРа ©   (12.10.04 08:48)  
...
> Создаю базу с помощью TIBDatabase:

А слабо IBExpert скачать
http://www.ibexpert.com/rus/ibe_sfx.exe
для России бесплатен


Pul   (2004-10-12 11:36:00) [3]

Уточнение к [2]

CHARACTER SET WIN1251 COLLATE PXW_CYRL


КаПиБаРа   (2004-10-12 09:21:00) [4]

Johnmen ©   (12.10.04 9:09) [3]
Это при подключении

Понял этого то у меня и небыло.

Johnmen ©   (12.10.04 9:07) [2]
Море инфы ibase.ru

Читаю и оттуда тоже.


КаПиБаРа   (2004-10-12 09:15:00) [5]

stud ©   (12.10.04 9:06) [1]
IBDatabase1.Params.Add('lc_ctype=WIN1251');

При создании базы:
Dynamic SQL Error
SQL error code=-104
Token uncnown - line 4, char 1
lc_ctype.


Johnmen   (2004-10-12 09:09:00) [6]

>stud ©   (12.10.04 09:06) [1]

Это при подключении. Ест-но тоже надо указывать.


Johnmen   (2004-10-12 09:07:00) [7]

При создании поля тоже надо указать чарсет.
Море инфы ibase.ru


stud   (2004-10-12 09:06:00) [8]


> IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1251');

IBDatabase1.Params.Add('lc_ctype=WIN1251');


Наверх

Титульная страница Поиск, карта сайта Написать письмо