PDA

View Full Version : آموزش: مشکل در جمع رکوردها



hasandrw
یک شنبه 22 اسفند 1389, 10:45 صبح
سلام
من می خوام تمام رکوردهای یک فیلد رو جمع کنم ولی وقتی با دستور زیر عمل جمع رو انجام میدم بعد از اجرای عمل برنامه تمام رکوردهام مخفی میشن.به طوری که حتی نمی تونم رکورد جدیدی رو اضافه کنم.

procedure Tfrmforoosh.Button6Click(Sender: TObject);
begin
with dm.ADOQueryforoosh do begin
Close;
SQL.Text:='select sum([ghkol])as hp from foroosh';
Open;
Edit1.Text:= DM.ADOQueryforoosh.Fields.FieldByName('hp').Text;
end;
end;

پیشتر ممنونم.

AliReza Vafakhah
یک شنبه 22 اسفند 1389, 14:54 عصر
خوب به نظر من بهتره یک کامپوننت ADOQuery دیگه واسه اعمال جمع و ... که نیاز به خروجی دارید به فرمتان اضافه کنید و از آن استفاده کنید .

شما باید به احتمال زیاد از یک ADOQuery در اجرای دستور بالا (Sum)، نمایش اطلاعات و درج اطلاعات استفاده کرده باشید که این کار درست نیست و نه این که نشه ولی کار شما سخت میشه.

در ضمن قبل از Close باید ADOQuery.SQL را Clear کنید.

ADOQuery.SQL.Clear;

mortezahbh
سه شنبه 06 آبان 1393, 18:15 عصر
با سلام

توی نمایش جمع یک فیلد مشکل دارم



Q_Debts.Close;
Q_Debts.SQL.Clear;
Q_Debts.SQL.Add('select SUM (price) from Debts');
Q_Debts.SQL.Add('where student_id ='+Fld_Q_StudentsID.Text);
Q_Debts.Open;


این کد که اجرا میشه زمان باز کردن کوئری این تخطار رو میده


Q_debts: field 'ID' not found.

دلیلش چیه؟؟؟

یوسف زالی
سه شنبه 06 آبان 1393, 22:36 عصر
سلام. به نظر می رسه در دیتاست فیلدی اد کردید که بعدا یاتون رفته پاکش کنید.

mortezahbh
سه شنبه 06 آبان 1393, 22:43 عصر
ممنون از پاسختون

میشه بفرمایید چطوری میتونم دیتا ست رو خالی کنم ؟

اگه احتیاج هس کد رو بصورت کامل بذارم بفرمایید

ممنون

mortezahbh
سه شنبه 06 آبان 1393, 22:46 عصر
اینو هم بگم که اگه کد بالا رو به این کد تغییر بدم هیچ اخطاری نمایش داده نمیشه



Q_Debts.Close;
Q_Debts.SQL.Clear;
Q_Debts.SQL.Add('select * from Debts');
Q_Debts.SQL.Add('where student_id ='+Fld_Q_StudentsID.Text);
Q_Debts.Open;

فکر میکنم مشکل سر اون کوئری sum باشه

یوسف زالی
چهارشنبه 07 آبان 1393, 09:51 صبح
منظور من زمان اجرا نیست. بصورت دیزاین چیزی بهش اد نکردید؟
بصورت مستر تیبل از فیلدی از این دیتاست استفاده نکردید؟
فیلد لوکیت یا ...

خطاهای احتمالی:
- دقیقا روی همین کد -> مشکل در اد کردن فیلد در دیتاست
- در جایی غیر از این کد -> استفاده از نام فیلد ID در مقادیر استفاده شده از این دیتاست

اگر نه، همین کوئری رو در محیط DBMS اجرا کنید ببینید چی می شه.

mortezahbh
چهارشنبه 07 آبان 1393, 17:11 عصر
درست شد :لبخندساده:
ممنون مشکل سر این بود که در محیط دیزاین به adoquery فیلد اضافه کرده بودم .

خیلی خیلی ممنون آقا یوسف:قلب: