Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADODATASET->Post() error

5.6K
14 февраля 2004 года
gogo1
9 / / 13.02.2004
Всем привет,

Объясните пожалуйста почему не удаётся выполнить такую операцию.

ADODataSet->Edit();
ADODataSet->FieldByName("DATA1")->AsDateTime = Date();
ADODataSet->Post();

На POST происходит ошибка. Я коментирую пост всё работает но ведь я остаюсь в режиме edit или надо как то по другому. Ведь пост переносит данные в базу и переносит программу в режим browse.

Спасибо всем.
348
16 февраля 2004 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by gogo1
Всем привет,

Объясните пожалуйста почему не удаётся выполнить такую операцию.

ADODataSet->Edit();
ADODataSet->FieldByName("DATA1")->AsDateTime = Date();
ADODataSet->Post();

На POST происходит ошибка. Я коментирую пост всё работает но ведь я остаюсь в режиме edit или надо как то по другому. Ведь пост переносит данные в базу и переносит программу в режим browse.

Спасибо всем.


Какая ошибка, какая СУБД???

5.6K
16 февраля 2004 года
gogo1
9 / / 13.02.2004
Цитата:
Originally posted by Saris

Какая ошибка, какая СУБД???





SYBASE SQL 8

Project raised exception class EDatabaseError with message "ADODATASET: DataSet not in insert or edit mode"

Почему то он не в edit mode , но ведь я его ставлю в такой моде.

348
16 февраля 2004 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by gogo1




SYBASE SQL 8

Project raised exception class EDatabaseError with message "ADODATASET: DataSet not in insert or edit mode"

Почему то он не в edit mode , но ведь я его ставлю в такой моде.


ADODataSet по-моему делает только выборку и не позволяет менять данные. Вот выдержка из Help:

TADODataSet is not capable of issuing Data Manipulation Language (DML) SQL statements that do not return result sets (like DELETE, INSERT, and UPDATE). For this use a component like TADOCommand or TADOQuery.

5.6K
16 февраля 2004 года
gogo1
9 / / 13.02.2004
Пробовал я TADOQuery, но пишет datasetv must be open. Хотя он открыт.
11K
19 августа 2005 года
madstorm
9 / / 19.08.2005
Цитата:
Originally posted by gogo1
Пробовал я TADOQuery, но пишет datasetv must be open. Хотя он открыт.




В ADODataSet есть Свойство "AutoEdit", которое принимает значения "true" и "false". Это свойство означает, что при активизации любого компонента, связанного с ADODataSet, таблица автоматически открыта для редактирования.

Также, можно вручную активировать редактирование таблицы:
ADODataSet->Edit();
а потом уже вызывать Post:
ADODataSet->Post();

12K
19 августа 2005 года
dolpin_spb
9 / / 18.08.2005
Цитата:
Originally posted by gogo1
Всем привет,

Объясните пожалуйста почему не удаётся выполнить такую операцию.

ADODataSet->Edit();
ADODataSet->FieldByName("DATA1")->AsDateTime = Date();
ADODataSet->Post();

На POST происходит ошибка. Я коментирую пост всё работает но ведь я остаюсь в режиме edit или надо как то по другому. Ведь пост переносит данные в базу и переносит программу в режим browse.

Спасибо всем.


Так ты данные записать хочешь?
Если ЭТО MS SQL передавай дату в формате '2005-08-19' все серваки это понимают, хотя лучьше выполнять Insert или Update, а так х!й че получиться...
пишешь Insert или Update потом ExecSQL.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог