Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

возможно что-то намудрил с QUERY Помогите!!! [D6, D7, dBase, FoxPro, Paradox]


al11 ©   (2003-02-14 11:49:00) 

Мастера, Помогите!!! В записи куча полей. Выполняется Query по параметру и в нем по существующим полям считается куча
вычисляемых полей. Вносим изменения в уже существующую запись и персчитываются выч.поля в QUERY (изменения
вносим через Table) Раз - вносим, персчитываются; два - вносим, персчитываются, три - ...; восемь -
Invalid parameter.Insufficient memeory for this operation.Table: С\..(место, где находится программа)\_QSQ121.db"
(Все это в RunTime) и _QSQ121.db в n-ном количестве


Al11   (2003-02-14 16:39:00) [1]

Спасибо И тем кто посоветовал
и тем кто ругается!!!
У меня рабочий день вот-вот кончится .
Кстати, С наступившим праздником всех!!!!!
Счас домой приду и HELPами буду изводиться


Johnmen   (2003-02-14 16:27:00) [2]

>Al11 © (14.02.03 16:12)
>Johnmen ©
>выразись же поконкретнее

Очень хочу, но не буду...:)

Если ты бездарь или ленив - бросай программирование, если малоопытен - см. справочную литературу и самообразовывайся...



Соловьев   (2003-02-14 16:26:00) [3]


> DataModule2.ChangeTH.ExecSQL;
> DataModule2.ChangeTH.Filtered:=true;
> DataModule2.ChangeTH.Active:=true;
>

ExecSQL это метод для изменения НД, а не для выборки.


Al11   (2003-02-14 16:23:00) [4]

Спасибо за дельный совет!
Может до кучи ещё какие ошибки найдете!!! (прошу прощения за назойливость)


Соловьев   (2003-02-14 16:18:00) [5]

DataModule2.ChangeTH.Prepare;
этот метод надо вызывать перед открытием, а не перед присваиванием параметров, и желательно проверить на Prepared:
with DataModule2 ChangeTH do
Begin
...
...
if not Prepared then Prepare;
...
end;


Al11   (2003-02-14 16:12:00) [6]

Johnmen ©
выразись же поконкретнее
(можешь даже обругать бездаря)


Johnmen   (2003-02-14 16:08:00) [7]

Как всё запущено то .....:)
Может наконец почитаешь хелп по Open, Active, Prepare, ExecSQL, Filtered и т.д. и т.п.


Al11   (2003-02-14 16:01:00) [8]

)):TDatabase есть.
)):Почему TTable либо TQuery могут быть лишними??????????
)): OnCalcF...
DataModule2.ChangeT.Open;
DataModule2.ChangeRestQ.Value:= DataModule2.GoodsTRestQ.Value;
DataModule2.ChangeRestS.Value:= DataModule2.GoodsTRestS.Value;
DataModule2.ChangeT.Close;
DataModule2.ChangeRestQ.Value:=DataModule2.ChangeRestQ.Value+...;
DataModule2.ChangeRestS.Value:=DataModule2.ChangeRestS.Value+...
DataModule2.ChangeTH.Open;
DataModule2.ChangeTH.Active:=false;
DataModule2.ChangeTH.Prepare;
DataModule2.ChangeTH.ParamByName("CG").AsInteger:=CodeGood;
DataModule2.ChangeTH.ParamByName("Yr").AsDate:=StrToDate(Go);
DataModule2.ChangeTH.ExecSQL;
DataModule2.ChangeTH.Filtered:=true;
DataModule2.ChangeTH.Active:=true;
if (DataModule2.ChangeTHRestQ.Value<>0) and (Datamodule2.ChangeTHRestS.Value<>0) then begin
DataModule2.ChangeRestQ.Value:=DataModule2.ChangeRestQ.Value+DataModule2.ChangeTHRestQ.Value;
DataModule2.ChangeRestS.Value:=Datamodule2.ChangeRestS.Value+Datamodule2.ChangeTHRestS.Value;
end;
DataModule2.ChangeTH.Close;

Datamodule2.ChangeRestJanQ.Value:=DataModule2.ChangeRestQ.Value+...
Datamodule2.ChangeRestJanS.Value:=DataModule2.ChangeRestS.Value+...

///--DataModule2.ChangeTH - Query такой же как и DataModule2.Change (ранее указанный)


Johnmen   (2003-02-14 15:52:00) [9]

1. А имеется ли компонент TDatabase ?
2. Refresh для TQuery не работает
3. Есть ощущение, что вообще либо TTable либо TQuery лишнее по сути...



Соловьев   (2003-02-14 15:48:00) [10]

А вычисления? т.е. поля вычисляемые.

> Change.dbf - PARADOX

Это как?


Al11   (2003-02-14 15:43:00) [11]

запись изменений в таблицу
/*DataModule2.ChangeT - компонент Table на таблицу Change.dbf - PARADOX
//*Datamodule2.Change - компонент QUERY, содержащий поля таблицы Change.dbf(та же самая)

DataModule2.ChangeT.Filtered:=false;
DataModule2.ChangeT.Filter:="CodeChange="""+IntToStr(Change)+"""";
DataModule2.ChangeT.Filtered:=true;

DataModule2.ChangeT.Edit;

Datamodule2.ChangeTJanDebQ.Value:=StrToInt(Edit1.Text);
Datamodule2.ChangeTJanDebS.Value:=StrToFloat(Edit2.Text);
Datamodule2.ChangeTJanCrQ.Value:=StrToInt(Edit3.Text);
Datamodule2.ChangeTJanCrS.Value:=StrToFloat(Edit4.Text);
DataModule2.ChangeT.Post;
Datamodule2.Change.Refresh



Johnmen   (2003-02-14 15:32:00) [12]

Приведи основные моменты в виде кода (работа с НД)...


Al11   (2003-02-14 14:18:00) [13]

Ничего не получается!!!! Даже не знаю что делать!!!((
Места на диске полно!!! Файлы эти удалял!!! Ничего не помогает!! Может еще что поскажете ?!!(:


AlexSerp   (2003-02-14 11:58:00) [14]

У тебя места на диске не хватает.
Все _QSQххх.db нужно удалить после сбоя программы.
Их БДЕ создает как буффер.

Саня


Наверх

Титульная страница Поиск, карта сайта Написать письмо