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

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

Не сохраняется запись в поле русским шрифтом. [D6, IB6.x]


Senka ©   (2002-12-18 03:24:00) 

У меня в проге имеется таблица с двумя полями ссылающаяся на БД, также кнопка для сохранения изменений в базе данных с обработчиком события:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
dmTeh.NameTeh.ApplyUpdates;
end;

В компоненте TUpdateSQL1 в свойствах редактирования записано:
delete from NAMETEHNIKA
where
N_NAMETEH = :OLD_N_NAMETEH

insert into NAMETEHNIKA
(NAMETEH)
values
( :NAMETEH)

update NAMETEHNIKA
set
N_NAMETEH = :N_NAMETEH,
NAMETEH = :NAMETEH
where
N_NAMETEH = :OLD_N_NAMETEH

При вводе английских букв все происходит нормально - сохраняет изменения, но при вводе русских выдает ошибку:
"Arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between ......"
Помогите пожалса разобраться в чем причина.


Senka   (2002-12-20 16:13:00) [1]

Спасибо огромное разобрался с вашей помощью!!!


Delirium^.Tremens   (2002-12-20 14:44:00) [2]

Ну, вот, добрались и до сути. Поскольку ты работаешь с BDE (если я правильно понял... т.к. не указано), нужно в BDEAdmin для алиаса своей базы поставить Langdriver -> Pdox Ansi Cyr


Senka   (2002-12-20 14:39:00) [3]

Ни в какую не работает ни Win1251 ни None.
А в делфи есть какие нибудь настройки на счет этого.


myor   (2002-12-20 11:57:00) [4]

попробуй кодировку none


Prooksius   (2002-12-20 11:56:00) [5]

При коннекте к существующей базе надо также указывать кодировку.


Senka   (2002-12-20 11:22:00) [6]

Сейчас создал новую базу и указал кодировку Wby1251 и все равно при записи русскими буквами выдает ошибку.


Prooksius   (2002-12-20 11:14:00) [7]

2 Senka (20.12.02 11:11)
Видать, ты при создании базы указал эту кодировку.
А надо было 1251... :o(


Senka   (2002-12-20 11:11:00) [8]

Интербейз при создании таблиц сам по умолчанию ставит character set win1254. Что он не понимает русских шрифтов что ли.
И что нужно для этого.


Delirium^.Tremens   (2002-12-19 11:51:00) [9]

А win1254 это какой, китайский?


Senka   (2002-12-19 11:49:00) [10]

Указан default character set win1254.
И не реботает.


Alexandr   (2002-12-18 06:47:00) [11]

вот почему так.
Человек простой вопрос всегда дополняет ограмным куском кода, сообщением об ошибке и прочим
А при сложной проблеме пишет только "почему у меня interbase не работает"


Наталия   (2002-12-18 06:07:00) [12]

default character set win1251 указан?


Наверх

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