![]() |
|
|
![]()
|
|
| Kusik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
при изменении/удалении записи вылазят ошибки.
"arithmetic exception,numeric overflow or string truncation" "Cannot transliterate character between character sets" при изменении, при вызове Post и "Multiple records found, but only one expected" приудалении. об этой ошибке почитал, но не могу изменить структуру БД и вручную тоже не могу удалять, т.к. записей много. может есть другой способ???
buffer - TTable, EXIT_DATE & ENTRY_DATE поля типа TIMESTAMP помогите, может можно по-другому это делать? с Interbase мало работал |
|||
|
||||
| TaNK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
база какая локальная или нет? -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
TaNK, какая разница?
|
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
просто у меня есть пример, который я писал давненько на дельфях - база находилась на удаленном компе..хотя счас понимаю...что Дейчтвительно а какая разница - давайте разберемся почему не работает! -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
может надо было прописать в бд not null поля -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
И ещё, в какой кодировке создана база, таблица, поле? И какую кодировку ты указываешь при подключении?
|
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Win1251 необходима если я не ошибаюсь!
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
использую фибовские компоненты, но думаю и с другими покатит
FIBDataSet1 - вместо тейбла
надо еще не забыть в UpdateSQL и DeleteSQL написать запросы Это сообщение отредактировал(а) superVad - 10.11.2006, 15:53 |
|||
|
||||
| Kusik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
таблица такая:
CREATE TABLE BUFFER ( SCAN_CODE INTEGER, PASS_DATE TIMESTAMP, ENTRY_DATE TIMESTAMP, ENTRY_CABIN VARCHAR(2) CHARACTER SET WIN1251, EXIT_DATE TIMESTAMP, EXIT_CABIN VARCHAR(2) CHARACTER SET WIN1251, TABLE_NO INTEGER, EMP_NAME VARCHAR(50) CHARACTER SET WIN1251, ENT_CODE VARCHAR(5) CHARACTER SET WIN1251, ENT_NAME VARCHAR(50) CHARACTER SET WIN1251, DEP_CODE INTEGER, DEP_NAME VARCHAR(50) CHARACTER SET WIN1251, WORK_BEG TIMESTAMP, WORK_END TIMESTAMP, BREAK_BEG TIMESTAMP, BREAK_END TIMESTAMP, PASS_DATE_ONLY TIMESTAMP ); как видите, никакой уникальности и индексов тут нет. структуру увы не могу менять Добавлено @ 15:02 как я понимаю значение null может быть тока у записи, в поле которой значение не было занесено ни одного разу. А если значение было, то null нельзя установить, поэтому пишу так: bufferEXIT_DATE.AsString:='' просто не знаю, что является пустотой в виде TDateTime |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Добавлено @ 15:15 а вообще фибовские компоненты пишут в базу(текстовое поле) Null, если передаешь пустое значение, если свойство SetEmptyStrToNull установлено в True
|
||||
|
|||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Akella: да работает, а первый раз не заработало (видать другая ошибка была, а я подумал что нельзя так)
|
|||
|
||||
| Kusik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
окей, спасибо, посмотрю.
а на счет удаления повторных записей можно огранизовать так чтобы не переливать набор данных и чтобы ручками не удалять? может я не те компоненты использую? (TDatabase, TTable) Добавлено @ 15:36 у меня Фибовских компонентов нет. есть тока BDE ADO Interbase. вот начал использовать последние, - посыпались те ошибки. проблему повторных записей решил, теперь остались частично-повторные записи. но как производить запись в поле в интербейз таблице? я использую Edit, ... Post,- это неправильно? |
|||
|
||||
| superVad |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
не совсем понял - надо повторяющиеся записи удалять?
я так понимаю имеються ввиду TIBDatabase, TIBTable думаю можно и с этими решить твои задачи, но лучше установи и используй фибовские (и я бы взял вместо Table - Dataset) офсайт |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
используй IBUpdateSQL
|
|||
|
||||
| superVad |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
используй Interbase
а насчет фибовских - пока не скачаеш и не установиш и не будет, да и платные они я отредактировал тот свой пример выше, там есть Edit надо обязательно заполнить свойства датасета UpdateSQL, DeleteSQL и InserteSQL UpdateSQL
DeleteSQL
InserteSQL
фух Это сообщение отредактировал(а) superVad - 10.11.2006, 16:11 |
||||||
|
|||||||
| Kusik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
Спасибо за примеры и советы. проблему с повторением я сделал так:
INSERT INTO New_Table SELECT DISTINCT * FROM Old_Table Перелил уникальные записи в пустую структуру. а вот еще возник такой вопрос: при удалении записей, которые полуповторяются (так мне надо) первым заходом удалилось 2134, а потом остальные 1658. подскажите, почему сразу не могли удалится все 2134 + 1658 = 3792 записей? существует ли в Interbase ограничение по колву удаляемых записей?? заранее спасибо! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |