Главная страница
    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.47 MB
Время: 0.073 c
15-1157458802
ddddd
2006-09-05 16:20
2006.09.24
Как расторгнуть контракт?


2-1157619572
Виталька 2006
2006-09-07 12:59
2006.09.24
Две формы одного класса


15-1157116119
StriderMan
2006-09-01 17:08
2006.09.24
Run-time packages и DCU


15-1157424311
balepa
2006-09-05 06:45
2006.09.24
Windows 2000 не видит 300Gb


15-1157226865
Cyrax
2006-09-02 23:54
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский