Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
9-1135937830
Cr@zy-EyE
2005-12-30 13:17
2006.09.24
Не запускается Direct3d


15-1157028811
Мимо проходил
2006-08-31 16:53
2006.09.24
Про Ветхий Завет


2-1157509534
O.O
2006-09-06 06:25
2006.09.24
Приложение на весь экран


6-1146868280
KASioZ
2006-05-06 02:31
2006.09.24
Состояние сокета winsock


2-1157370098
Серый
2006-09-04 15:41
2006.09.24
Создание кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский