![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение НД [D7, IB6.x]
Spawn © (2003-07-10 08:29:00)Разобрался с одной проблемой, а щас такая вот возникла:
Делаю изменения в DBGrid - все ок(Присутствует TIBUpdateSQL).
Вызываю стандартное событие из TActionList - DataSetPost и данные не сохраняются на сервере. Пробовал делать IBTransaction.Commit - тоже ни чего не сохрагяется. Свойство CachedUpdates у IBQuery стоит в True. SQL - запросы у IBUpdateSQL сгенерированны компонентом. В чем проблема? Заранее спасибо.
Johnmen (2003-07-10 17:13:00) [1]>Spawn © (10.07.03 17:01)
Я бы на твоём месте всё-таки сначала почитал книги, прежде чем топтать клаву на предмет баз данных...:)))
Spawn (2003-07-10 17:04:00) [2]Ладно)) Вроде пока все нормально Блобы нацеплю на TDBImage и TDBMemo
Spawn (2003-07-10 17:01:00) [3]Дак я на SQL перешел пару дней назад и до этого то один раз только базами занимался, а литературы по нми хорошей нет)))) Не подскажешь ли что с Блобами делать?
Johnmen (2003-07-10 16:53:00) [4]Разве в where одного поля ID не достаточно для однозначной идентификации записи ? :)
ANNOT = :OLD_ANNOT and //BLOB
PICTURE = :OLD_PICTURE and //BLOB
А это вообще что-то немыслимое...:)
Spawn (2003-07-10 16:36:00) [5]Сгенерированный компонентом:
update DOC
set
ID = :ID,
NAME = :NAME,
ANNOT = :ANNOT, //BLOB
PICTURE = :PICTURE, //BLOB
DEVFIO = :DEVFIO,
TEL = :TEL,
LABN = :LABN,
ZAVFIO = :ZAVFIO
where
ID = :OLD_ID and
NAME = :OLD_NAME and
ANNOT = :OLD_ANNOT and //BLOB
PICTURE = :OLD_PICTURE and //BLOB
DEVFIO = :OLD_DEVFIO and
TEL = :OLD_TEL and
LABN = :OLD_LABN and
ZAVFIO = :OLD_ZAVFIO
Johnmen (2003-07-10 15:26:00) [6]Как прописан ModifySQL ?
Spawn (2003-07-10 15:04:00) [7]Johnmen © (10.07.03 14:44) большое спасибо.
И все таки не Primary Key влияло на невозможность внесения данных в БД, а наличие в ней BLOB полей(Протестировал на 5 различных комбинациях и там где были BLOB изменять нельзя другие поля после их первого установления). Почему так?
Johnmen (2003-07-10 14:44:00) [8]Даблклик на IBDataBase или в Params lc_ctype=WIN1251
Spawn (2003-07-10 14:38:00) [9]Всмысле для IBDataBase? Там разве тоже кодировку можно прописывать? Я такого свойства не видел там, разве что в Params?
Mike1 Kouzmine1 (2003-07-10 14:32:00) [10]А как именно она указана для IBDatabase?
Spawn (2003-07-10 14:07:00) [11]Это в BDE администраторе она такая, а так то конечно win1251
Mike1 Kouzmine1 (2003-07-10 14:04:00) [12]А что это такое для компонент прямого доступа?
Может какая другая нужна? Например, win1251?
Spawn (2003-07-10 13:59:00) [13]Mike1 Kouzmine1 (10.07.03 13:57) Кодировка Pdox ANSI Cyrillic
Spawn (2003-07-10 13:57:00) [14]Так еще одно прояснение))) Ошибка вылетает только с русскими буквами)) Где то я тут видел тему на етот счет ща найду) Кажись мои мучения подходят к концу)
Mike1 Kouzmine1 (2003-07-10 13:57:00) [15]При подключении - какая кодировка указана?
Spawn (2003-07-10 13:54:00) [16]Так с одним я разобрался нужно было указать Primary Key для того чтобы я мог вносить изменения в любую запись. Теперь другая проблемы - если ввожу значения отличные от цифр, то возникает ошибка, описанная мною выше.
Mike1 Kouzmine1 (2003-07-10 13:49:00) [17]Транзакции?
Св-ва IBDatabase?
Spawn (2003-07-10 13:46:00) [18]И если в это первое поле (тип VARCHAR) ввести не числовое значение и попытаться сохранить данные, то возникает ошибка -
EIBInterBaseError with message "arithmetic exception, numeric overflow, or string truncation". К чему бы это?
Spawn (2003-07-10 13:40:00) [19]Еще одно наблюдение - я могу добавить первую запись в DBGrid, после чего следущие попытки изменения ни к чему не приводят. То же самое справедливо для добавленых записей(то есть максимум какйю запись я могу изменить - это первую и всего один раз).
Spawn (2003-07-10 12:37:00) [20]Меня ето просто бесит уже!!! Как так то. Почему данные не созраняются на сервере. Делаю абсолютно все как было написано в книге. Даже так сделал - в рабочей программе от книги, заменил базу на свою. DBGrid заполняется данными, но после редактирования и выходе из проги данные не сохраняются. КАК ТАКОЕ МОЖЕ БЫТЬ!!!!!!!