| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблемы с Interbase |
| Автор: Akella 23.4.2004, 08:55 |
| Interbase6 Создаю базу данных def charset выбираю win1251 или CYRL Создаю таблицу и вней несколько полей. первое int остальные varchar с кодировкой win1251 илии CYRL при добавлении записей с русскими символами в таблицу вылетает ошибка типа "arithmatic exeption, numeric overflow, or string trancation" Но вот в чем прикол При добавлении строки, с заполненной только полем типа INT ничего не вылетает, затем редактирую запись и пишу туда (в символьные столбцы) текст с русскими символами - все нормально сохраняется я в шоке. И в мойе программе и в IBConsole тоже самое. |
| Автор: Alex 23.4.2004, 09:03 |
| Покажи как пытаешься занести |
| Автор: gray_k 23.4.2004, 09:03 |
| А можешь базу мне на мыло выслать? Я бы посмотрел. Любопытное что-то. |
| Автор: Гость_Vicktor 23.4.2004, 13:07 |
| Убери SQLUpdate и все должно получиться |
| Автор: Akella 23.4.2004, 14:22 |
| Я добавляю записи непосредственно в IBConsole - этого достаточно? Или непосредственно в сетке DBGrid. базу вышлю И уменя на форме нет SQLUpdate. Только базаданных, таблица, транзакция. |
| Автор: _hunter 23.4.2004, 16:00 |
| это просто выход -- используй транслитерацию или самодельное кодирование |
| Автор: <Spawn> 23.4.2004, 16:39 | ||
Какой еще глюк? У меня все нормально работало, только вот я не помню уже что делал(скоро уже год как с IB последний раз работал). Попозже ссылку на сайт оставлю, где может быть ответ. |
| Автор: x77 23.4.2004, 16:47 |
| dsergey, в TIbDatabase.Options воткни lcctype=win1251 |
| Автор: _hunter 23.4.2004, 17:05 |
| странно поискал в гугле и вот что нашел: http://ivanuts.chat.ru/interbase.htm#SEC2 может это у меня локальный глюк был |
| Автор: <Spawn> 23.4.2004, 17:09 |
| Вот, кстати, http://www.ibase.ru/ |
| Автор: Akella 26.4.2004, 08:41 |
| Я думаю, что нужно делать так (в моем случае): 1. Добавляем пустую запись. 2. Находим ее. 3. Редактируем. Только пользователь всего этого не видит. Он буднт "видеть" только добавление. |
| Автор: gray_k 26.4.2004, 13:00 |
| Я посмотрел базу, всё нормально работает, с русскими символами в том числе. Пользовался IBExpert. Так что ошбка скорее всего в параметрах коннекта. Может ты забыл кодировку указать? |
| Автор: Akella 26.4.2004, 13:38 |
| Но я же добавляю записи, непосредственно в IBConsole, какие там еще параметры коннекта? |
| Автор: gray_k 26.4.2004, 13:49 |
| В параметрах соединения надо указывать charset, если он конечно не дефалтовый. |
| Автор: Akella 27.4.2004, 08:10 |
| нет ребята, все это не то. |
| Автор: gray_k 27.4.2004, 08:48 |
| Как не то. Говорят тебе, человек упрямый, ВСЁ РАБОТАЕТ!!!!! Пропиши charset в параметрах коннекта. |
| Автор: x77 27.4.2004, 09:02 |
| dsergey, да ну как это не то, когда самое то. в консоли - не помню. если вставляешь в sql-редакторе, то сначала скажи ему set names win1251. а в проге в TDatabase(TIbDatabase) в Options добавь строку: lc_ctype = win1251. сорри за очепятку выше. Добавлено @ 09:02 тебе же сразу сказали |
| Автор: Akella 27.4.2004, 11:27 | ||
А я писал, что я добавляю записи непосредствено в IBConsole, там нет никаких параметров при подключении, кроме пользователя и пароля. |
| Автор: x77 27.4.2004, 11:33 |
| всё там есть. у меня нет этой консоли дебильной, но всё там есть. точно знаю, что в WISQL32, например, кодировка указывается в Session/Advanced Settings. |
| Автор: <Spawn> 27.4.2004, 12:20 |
| Ты хоть на предложеный мною сайт заходил? http://www.ibase.ru/devinfo/ibrusfaq.htm |
| Автор: gray_k 27.4.2004, 13:27 | ||
Когда в IBConsole регестрируешь базу, там в настройках есть Default Charset. |
| Автор: Akella 25.5.2004, 08:12 |
| Если нужно указывать раксладку при коннекте, то зачем при создании БД, или наоборот |
| Автор: x77 25.5.2004, 11:37 |
| dsergey, затем, что это разные вещи. кодировка указывается для корректной трансилетрации символов. если в базе кодировка не указана, то туда заносятся любые символы без проверок. если указана, то только соответствующие символы. указывать символы надо для корректной отработки сортировки |