Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2011, 10:39   #1
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию dataset is not edit or insert mode

Что-то у меня крыша не едет. Помогите, что не так?

Код:
dset_acc->Close();
dset_acc->ParamByName("CTR1")->AsInteger = ID_CONTRACT;
dset_acc->Open();
Код:
dset_acc->Edit();
	dset_acc->First();

	for (;!dset_acc->Eof;) {
if (dset_acc->FieldByName("ID_WORK_FOR_PAYMENT")->AsInteger == 1) {
			dset_acc->FieldByName("COUNT")->AsFloat = dset_weight_rc->FieldByName("COUNT")->AsFloat;
		        dset_acc->FieldByName("SUMMA")->AsFloat = 
dset_acc->FieldByName("PRICE")->AsFloat*
dset_acc->FieldByName("COUNT")->AsFloat;
			dset_acc->FieldByName("SUMMA_TAX")->AsFloat = dset_acc->FieldByName("SUMMA")->AsFloat*
dset_acc->FieldByName("MULTIPLIER")->AsFloat;
		}

if (dset_acc->FieldByName("ID_WORK_FOR_PAYMENT")->AsInteger == 5) {
			dset_acc->FieldByName("COUNT")->AsFloat = dset_mwrk_sum->FieldByName("C1")->AsFloat;
			dset_acc->FieldByName("SUMMA")->AsFloat =
dset_acc->FieldByName("PRICE")->AsFloat*
dset_acc->FieldByName("COUNT")->AsFloat;
			dset_acc->FieldByName("SUMMA_TAX")->AsFloat = dset_acc->FieldByName("SUMMA")->AsFloat*
dset_acc->FieldByName("MULTIPLIER")->AsFloat;
		}

if (dset_acc->FieldByName("ID_WORK_FOR_PAYMENT")->AsInteger == 10) {
			dset_acc->FieldByName("COUNT")->AsFloat = 0;
			dset_acc->FieldByName("SUMMA")->AsFloat = uz;
			dset_acc->FieldByName("SUMMA_TAX")->AsFloat = dset_acc->FieldByName("SUMMA")->AsFloat*
dset_acc->FieldByName("MULTIPLIER")->AsFloat;
		}

		if (dset_acc->FieldByName("ID_WORK_FOR_PAYMENT")->AsInteger == 8) {
			dset_acc->FieldByName("COUNT")->AsFloat = tkm;
			dset_acc->FieldByName("SUMMA")->AsFloat = tkm*dset_acc->FieldByName("PRICE")->AsFloat;
			dset_acc->FieldByName("SUMMA_TAX")->AsFloat = dset_acc->FieldByName("SUMMA")->AsFloat*
dset_acc->FieldByName("MULTIPLIER")->AsFloat;
		}

		dset_acc->Next();
	}
	dset_acc->Post();
Drugnir вне форума Ответить с цитированием
Старый 26.09.2011, 09:56   #2
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Сам разобрался, можно закрывать. Надо было на каждую операцию отдельно ставить Edit и Post.
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строку из одного DataSet в другой DataSet Abbath1349 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 22.05.2011 19:26
Not Optimum MOde Recommended Mode 1280 x 1024 60 Hz Error padsyukin Компьютерное железо 4 16.12.2010 10:54
sql server+delph,при попытке сохранить базу в дельфи выдает ошибку adotable dataset not in edit or insert betirsolt БД в Delphi 3 07.05.2010 21:44
После SELECT через IBDataSet ошибка EIBClientError 'Not in edit mode' DiMoN2002 Общие вопросы C/C++ 0 23.11.2009 20:51