![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase и кодировка при первой записи [D5, IB5.x]
Fishka © (2006-07-26 14:13:00)Создаю программно базу:
IBDataBase1.Params.Add('USER "SYSDBA"');
IBDataBase1.Params.Add('PASSWORD "masterkey"');
IBDataBase1.Params.Add('default character set WIN1251');
IBDataBase1.SQLDialect:=1;
IBDataBase1.CreateDatabase;
База создается. Создаю таблицы - таблицы создаются.
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('create table region');
IBQuery1.SQL.Add('(code_region Integer NOT NULL,');
IBQuery1.SQL.Add('name_region Character (30) Character set WIN1251 NOT NULL UNIQUE COLLATE PXW_CYRL,');
IBQuery1.SQL.Add('primary key (code_region))');
IBQuery1.ExecSQL;
Вношу 1 запись в таблицу. В таблице 2 поля - код и название.
Код формируется с помощью генератора.
Проблема в поле название я не могу внести русские буквы.
Вношу английские, обновляю, затем корректирую на русские.
Почему я не могу сразу вносить русские буквы?И что надо сделать, чтобы решить эту проблему?
atruhin (2006-07-26 17:49:00) [1]> Раньше ничего не мешало.Теперь уже мешает совет
> Desdechado © (26.07.06 15:15) [4]
Он тебе посоветовал сделать:
> IBDataBase1.Params.Add('USER "SYSDBA"');
> IBDataBase1.Params.Add('PASSWORD "masterkey"');
> IBDataBase1.Params.Add('default character set WIN1251')
> ;
> IBDataBase1.SQLDialect:=1;
> IBDataBase1.CreateDatabase;
> База создается. Создаю таблицы - таблицы создаются.
> IBQuery1.SQL.Clear;
> IBQuery1.SQL.Add('create table region');
> IBQuery1.SQL.Add('(code_region Integer NOT NULL,');
> IBQuery1.SQL.Add('name_region Character (30) Character
> set WIN1251 NOT NULL UNIQUE COLLATE PXW_CYRL,');
> IBQuery1.SQL.Add('primary key (code_region))');
> IBQuery1.ExecSQL;
IBDataBase1.Connected := false;
IBDataBase1.Connected := true;
Вроде так, хотя с IBX не работаю, могу ошибиться.
Sergey13 (2006-07-26 16:17:00) [2]> [9] sniknik © (26.07.06 16:16)
Хорошо хото не "выпей иаду" посоветовал. 8-)
sniknik (2006-07-26 16:16:00) [3]а можно я посоветую перевести пару тройку тысяч долларов мне на счет?...
или нет, лучше посоветую переводить ежемесячно, перманентно и с индексацией... ;о))
Johnmen (2006-07-26 16:07:00) [4]
> Fishka (26.07.06 16:02) [7]
Он не советовал писать несколько программ!
>Я следую советам :-)
Всегда и во всём?
Fishka (2006-07-26 16:02:00) [5]Johnmen © (26.07.06 15:54) [6]
Раньше ничего не мешало.Теперь уже мешает совет
Desdechado © (26.07.06 15:15) [4]
По-правильному: база создается отдельно вместе с таблицами и проч.
А работа с данными - отдельно. И не надо винегрет из этого делать.
Я следую советам :-)
Johnmen (2006-07-26 15:54:00) [6]
> Fishka (26.07.06 15:47) [5]
...........???????????
А что мешает в "одной программе" всё сделать???
Fishka (2006-07-26 15:47:00) [7]Johnmen © (26.07.06 15:14) [3]
Спасибо, но так не хочется этого делать......
Desdechado © (26.07.06 15:15) [4]
Спасибо за ответы, но винегрет, видимо, сделаю, так как это дипломный проект. Пока не вижу другого выхода для диплома ..... Надо и базу создать, если ее нет, и данные ввести, и отчеты получить по запросам - и все в одной программе.
Desdechado (2006-07-26 15:15:00) [8]По-правильному: база создается отдельно вместе с таблицами и проч.
А работа с данными - отдельно. И не надо винегрет из этого делать.
И по поводу [1] - IB кэширует метаданные только при подключении, поэтому любые их программные изменения в этом кэше не отражаются.
И еще. Помни, что кодировка БД должна совпадать с кодировкой самого коннекта (в свойствах IBDatabase - lc_type)
Johnmen (2006-07-26 15:14:00) [9]
> Database надо сделать disconnect?
Да.
Fishka (2006-07-26 15:08:00) [10]Непонятно......
Database надо сделать disconnect? А по-другому?
Я поподробнее можно?
Johnmen (2006-07-26 14:16:00) [11]После игры с метаданными надо отключиться и подключиться снова с соответствующими параметрами.