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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2014, 19:34   #1
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию Cannot modify a read-only dataset(таблицу сохранять не нужно)

вот такой у меня код, мне нужно увеличить поле Amount на то что мы введем - s(т.е. умножить на это число каждое значение стобца).
Код:

procedure TForm6.BitBtn2Click(Sender: TObject);
begin
s:= strtoint(LabeledEdit1.text);
ReportQuery.Open;
IF reportquery.state<>dsinsert then
reportquery.edit;
ReportQuery.First;
while not ReportQuery.Eof do
begin
ReportQuery.FieldValues['amount']:=ReportQuery.FieldValues['amount']*s;
ReportQuery.Next;
end;
ReportQuery.Close;
ReportQuery.ExecSQL;
ReportQuery.Open;
end;

но у меня ругается на - Cannot modify a read-only dataset. вы верно знаете что это).
пишут что нужно использовать какието TSQLConnection+TSQLTable+TDataSetPr ovider+TClientDataSet+TDataSource. - но у нас не должно быть такого поидее(по программе не давали).
я юзаю просто датасоурс, тквери, дбгрид, без всякого удаленного доступа и тд. база тут же на компе(самый простой вариант).
маленькая оговорка - мне не нужно сохранять потом эту таблицу, просто показать.
подскажите, последний штришок остался и такая подстава)
p/s- ReadOnly := False; вот что пишут.

Последний раз редактировалось ayPinki; 04.02.2014 в 19:56.
ayPinki вне форума Ответить с цитированием
Старый 04.02.2014, 19:46   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
ReportQuery.Close;
ReportQuery.ExecSQL;
ReportQuery.Open;
мошно задвинул
eval вне форума Ответить с цитированием
Старый 04.02.2014, 19:55   #3
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
мошно задвинул
да, на подколы энергия всегда находится
вы бы хотябы сказали возможна ли такая модификация полей в Tquery.
ayPinki вне форума Ответить с цитированием
Старый 04.02.2014, 19:58   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
вот такой у меня код
Выбросить всё что между первым begin и последним end и написать код заново.
northener вне форума Ответить с цитированием
Старый 04.02.2014, 20:03   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

вам же ошибка говорит что нельзя
тут либо вычисляемое поле делать, либо TClientDataSet какой брать, либо еще какой обход выдумывать
eval вне форума Ответить с цитированием
Старый 04.02.2014, 20:06   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Код:
ReportQuery.Close;
ReportQuery.ExecSQL;
ReportQuery.Open; 
Эти две подчёркнутые строки поменять местами не пробовали?
Streletz вне форума Ответить с цитированием
Старый 04.02.2014, 20:10   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Та умножьте в запросе amount на то что нужно, константа ведь и нечего городить то, что не в состоянии реализовать. И вычисляемое поле можно в кверике сделать, как выше подсказывают.
Цитата:
таблицу сохранять не нужно
Ребят и на фиг там всякие ExecSQL?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 04.02.2014 в 20:12.
Аватар вне форума Ответить с цитированием
Старый 04.02.2014, 20:13   #8
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
вам же ошибка говорит что нельзя
тут либо вычисляемое поле делать, либо TClientDataSet какой брать, либо еще какой обход выдумывать
либо зафигачить выдачу в мемо- поле, если выдача небольшая)) а подскажите как подключить скроллбар в мемо, он там есть?
ayPinki вне форума Ответить с цитированием
Старый 04.02.2014, 20:14   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
либо зафигачить выдачу в мемо- поле
Пипец, полный
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.02.2014, 20:16   #10
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Эти две подчёркнутые строки поменять местами не пробовали?
ругается(
Код:
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
s:= strtoint(LabeledEdit1.text);
ReportQuery.Open;
ReportQuery.ExecSQL;
ReportQuery.Close;
ReportQuery.First;
while  not  ReportQuery.Eof do
begin
 ReportQuery.FieldValues['amount']:=ReportQuery.FieldValues['amount']*s    ;
ReportQuery.next;

end;

end;
Изображения
Тип файла: jpg 444.jpg (14.9 Кб, 129 просмотров)
ayPinki вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы Dataset без SQL считал себя не read-only ? delphicoding БД в Delphi 12 23.03.2012 22:22
Как привязать таблицу нового modal окна к Dataset динамически созданного родительского окна? delphicoding Общие вопросы Delphi 6 02.10.2011 22:41
Сохранить выборку в другую таблицу через DataSet lexaltd БД в Delphi 4 03.08.2010 14:32
ошибка Query1: Cannot modify a read-only dataset demo_nik БД в Delphi 5 07.11.2008 19:16
ADODataSet: cannot modify a read-only dataset cvetochek Помощь студентам 2 29.10.2007 14:49