Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Interbase и кодировка при первой записи   Найти похожие ветки 

 
Fishka   (2006-07-26 14:13) [0]

Создаю программно базу:

  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 поля - код и название.
Код формируется с помощью генератора.
Проблема в поле название я не могу внести русские буквы.
Вношу английские, обновляю, затем корректирую на русские.

Почему я не могу сразу вносить русские буквы? И что надо сделать, чтобы решить эту проблему?


 
Johnmen ©   (2006-07-26 14:16) [1]

После игры с метаданными надо отключиться и подключиться снова с соответствующими параметрами.


 
Fishka   (2006-07-26 15:08) [2]

Непонятно......
Database надо сделать disconnect? А по-другому?
Я поподробнее можно?


 
Johnmen ©   (2006-07-26 15:14) [3]


> Database надо сделать disconnect?


Да.


 
Desdechado ©   (2006-07-26 15:15) [4]

По-правильному: база создается отдельно вместе с таблицами и проч.
А работа с данными - отдельно. И не надо винегрет из этого делать.

И по поводу [1] - IB кэширует метаданные только при подключении, поэтому любые их программные изменения в этом кэше не отражаются.

И еще. Помни, что кодировка БД должна совпадать с кодировкой самого коннекта (в свойствах IBDatabase - lc_type)


 
Fishka   (2006-07-26 15:47) [5]

Johnmen ©   (26.07.06 15:14) [3]
Спасибо, но так не хочется этого делать......

Desdechado ©   (26.07.06 15:15) [4]
Спасибо за ответы, но винегрет, видимо, сделаю, так как это дипломный проект. Пока не вижу другого выхода для диплома ..... Надо и базу создать, если ее нет, и данные ввести, и отчеты получить по запросам - и все в одной программе.


 
Johnmen ©   (2006-07-26 15:54) [6]


> Fishka   (26.07.06 15:47) [5]


...........???????????
А что мешает в "одной программе" всё сделать???


 
Fishka   (2006-07-26 16:02) [7]

Johnmen ©   (26.07.06 15:54) [6]

Раньше ничего не мешало.Теперь уже мешает совет
Desdechado ©   (26.07.06 15:15) [4]
По-правильному: база создается отдельно вместе с таблицами и проч.
А работа с данными - отдельно. И не надо винегрет из этого делать.

Я следую советам  :-)


 
Johnmen ©   (2006-07-26 16:07) [8]


> Fishka   (26.07.06 16:02) [7]


Он не советовал писать несколько программ!

>Я следую советам  :-)

Всегда и во всём?


 
sniknik ©   (2006-07-26 16:16) [9]

а можно я посоветую перевести пару тройку тысяч долларов мне на счет?...
или нет, лучше посоветую переводить ежемесячно, перманентно и с индексацией... ;о))


 
Sergey13 ©   (2006-07-26 16:17) [10]

> [9] sniknik ©   (26.07.06 16:16)

Хорошо хото не "выпей иаду" посоветовал. 8-)


 
atruhin ©   (2006-07-26 17:49) [11]

> Раньше ничего не мешало.Теперь уже мешает совет
> 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 не работаю, могу ошибиться.



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
1-1155388106
apic
2006-08-12 17:08
2006.09.24
TListView


4-1148487663
GrBob
2006-05-24 20:21
2006.09.24
Как службой поймать момент подключения пользователя


1-1155199317
apl
2006-08-10 12:41
2006.09.24
Можно ли?


2-1157193648
иван8511
2006-09-02 14:40
2006.09.24
Сменить стиль шрифта


3-1153501003
Konnik
2006-07-21 20:56
2006.09.24
Разграничение транзакций стандартными компонентами IB