Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Help!!!! В чем дело пытаюсь Insert-ить через SQLInsert и даже такое выражение (все навороты и параметры убраны и оставлены одни константы) insert into pass.pass_permit values( 33, 1, null, null, null, sysdate, sysdate, ) ошибка Delphi "... EDatadaseError Поле _первое_ должно иметь значение ..." Раньше в других OraQuery получалось. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 17:29 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Thanks! Дошло. SQL-выражение под SQLInsert посылается поэтапно и когда поле not null, то Delphi требует задания значения в программе, а не в SQL-выражении. P.S. Возврат к Delphi от других языков требует неких повторных "стучаний рогами о стену". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 18:27 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Да нет, не дошло Ошибка происходит именно на СУБД (EDatadaseError). Неправильно написан инсерт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 08:25 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Работает железно. Когда ошибка лезет из СУБД, то в сообщении префиксы субд-ешные: ORA, PLS и прочие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 09:59 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Не надо морочить голову! Вот именно такое SQL-выражение: insert into pass.pass_permit values( 33, 1, null, null, null, sysdate, sysdate, ) НИКОГДА Делфи проверять не будет!!! Так что либо приводите полностью (не убирая якобы лишнее), либо не спорьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 10:18 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Поле, где '33' - not null. И проверяет - not null ли. И если в программе просто ...Insert и далее без конкретного придания значения этому полю ...Post, то ошибка. Почему спор? В форум отнечегоделать не пишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 10:30 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
В скрипте, который Вы привели, Делфи ничего проверять не будет. Скрипт просто передается в прекомпилер и там проверяется. Но это уже Оракл, а не Делфи. Делфи отродясь ничего не знает о полях и таблицах Вашей базы. Или, Вы думаете, что, если в DOA можно выполнять PL/SQL-скрипты, то все проверяется на уровне DOA??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 10:52 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Вообще? Зачем мне обманывать, причем по такому уже ставшему простым вопросу. Но используется ODAC, а не DOA. Может быть в этом заминка. Вообще интерсно - щас DOA поставлю и попробую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:07 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
DOA не ругается, но и ничего не выполняет в базе. То есть вероятно тоже требуется доопредение и еще Бог весть что (не досуг копать, sorry). Вообще ODAC по-круче будет (вот уже полтора месяца юзаю), хотя говорили, что DOA "ниже" (то есть ближе к hardware). Просто сейчас все переписывается с BDE. И новое пишется без BDE. Но вероятно, когда JDeveloper созреет, то как инструмент к Oracle всех затмит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:54 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
DOA или ODAC - без разницы. Вы выполняете обычный скрипт. Другое дело, если Вы, в целях "упрощения" поста в форум, закинули сюда сокращенный скрипт, а на самом деле у Вас объявлены not null переменные. А насчет "DOA не ругается, но и ничего не выполняет в базе" - а Вы commit делаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:59 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Так про NOT NULL и говорил же!!! И во втором сообщении извинился. В DOA ...Session.commit делал, но из-за другого не сраб. Да, вставляет. Но в такой же ситуации ODAC ругался??? DOA OracleQuery1.Execute; OracleSession1.Commit; ODAC OraQuery1.Open; OraQuery1.Insert; OraQuery1.Post; ругается OraQuery1.Open; OraQuery1.Insert; OraQuery1.FieldByName('имя того not null поля').AsInteger:=-999; OraQuery1.Post; не ругается причем BDE также ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:07 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Когда Вы вызываете метод Open, рекордсет переводится в режим редактирования данных: считываются поля, check`и и прочие атрибуты. А скрипт "insert into ..." - выполняется совершенно по-другому - на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:18 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Call Open to set the Active property for the dataset to True. Позволяет Insert. When Active is True, data can be read from and written to the database. Собственно редактирование. >А скрипт "insert into ..." - выполняется совершенно >по-другому - на сервере. И что ODAC и BDE не пускают? А DOA, так как сделан "ниже" пропускает. Так вероятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:43 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Не путайте метод Insert с SQL-скриптом. Это ж совершенно разные вещи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:49 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Так в ODAC - методу Insert соответствует скрипт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:23 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Нет!!! Метод - это метод объекта, а скрипт - это скрипт. Почитайте документацию по Делфи, по Ораклу и по ODAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:25 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
Так в ODAC - методу Insert соответствует скрипт. То есть при вызове метода Insert срабатывает скрипт, задаваемый в свойстве SQLInsert. Это вроде и есть лицо объектно-ориентированного программирования. Полиморфизм, где скрипт - объект, который разные модули воспринимают по-своему. Почитайте документацию по Делфи, по Ораклу и по ODAC. Это всегда - хороший совет. Собственно 40% времени программирования этим и занимаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 15:01 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
То что прописывается в SQLInsert исполняется при заполнении DataSet, метод Insert просто добавляет строку к DataSet не фиксируя изменений в БД. Post вызывает исполнение SQL-запроса. И использовать есго надо при управлении ручным вводом. Если требуется просто исполнить предложение insert или update без возвращения результата, то проще использовать TOraSQL (ODAC): OraSQL1.Execute; OraSession1.Commit ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2003, 12:11 |
|
||
|
Insert в Oracle через OraQuery
|
|||
|---|---|---|---|
|
#18+
>... в SQLInsert исполняется при заполнении DataSet, метод Insert просто >добавляет строку к DataSet ... Да признаю - ляпнул, не попробовав. Перепутал - в каком-то Java-софте такое наблюдал. Хотя в Delphi можно такое дописать, но зачем с другой стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2003, 13:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32161701&tid=2118280]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 385ms |

| 0 / 0 |
