Форум: "Базы";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
ВнизВопрос знатокам DOA Найти похожие ветки
← →
Тормоз (2002-09-16 12:43) [0]Низкий поклон знатокам
Я вот не могу понять вот чего: Есть у меня в базе вьюшка с instead of триггерами. Все прекрасно работает в SQL Plus, но DOA для своей работы требует rowid. При этом в документации сказано, что этот rowid можно прекрасно заменить любым другим полем, достаточно лишь вставить его название в UniqueFields.
Ну я сделал вроде все как надо, а при попытке вставить запись все равно выдается ошибка, что датасет рид-онли.
Почему так, может кто знает.
Заранее спасибо
← →
Юрий Жуков (2002-09-16 15:09) [1]Честно говря с вьюшками никогда не работал через DOA.
Попробуй в дизайне указать явно датасету, что он не реад-онли
← →
Black Cat (2002-09-16 15:12) [2]А на вьюшку глянуть можно?
← →
Внук (2002-09-16 15:19) [3]Ситуация действительно имеет место :)
Если поле (поля через точку с запятой), перечисленные в UniqueFields, действительно однозначно идентифицируют каждую запись (то есть являются, по сути, первичным ключом), то достаточно еще оперделить событие TOracleDataset.OnApplyRecord и прописать там единственную строку
Applied:=false;
Все должно работать.
← →
Тормоз (2002-09-17 06:10) [4]Спасибо, я поставил Applied:=False, вроде коряво, но заработало; буду разбираться дальше:)
← →
Внук (2002-09-17 09:18) [5]Это не коряво :)
Назначение события OnApplyRecord означает, что команды DML будут обрабатываться особым образом для этой таблицы. Applied:=false сообщает, что этим особым образом их должен обрабатывать сам DOA, а не клиентская программа. Исходники помогут Вам разобраться.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c