Главная страница
    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.044 c
3-1153381728
PEAKTOP
2006-07-20 11:48
2006.09.24
EXECUTE STATEMENT


3-1153727877
Morrison
2006-07-24 11:57
2006.09.24
Опять беда с таблицей Paradox: Corrupt table/index header


3-1153733647
Scorpio
2006-07-24 13:34
2006.09.24
Создание тригера


15-1157346730
Ega23
2006-09-04 09:12
2006.09.24
С Днём рождения! 3 сентября


15-1156938728
GetW
2006-08-30 15:52
2006.09.24
проблема с dvd





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский