PDA

View Full Version : مشکل این برنامه چیست ؟



delphi5
یک شنبه 15 بهمن 1385, 09:23 صبح
کسی میتونه بهم بگه که مشکل این query چیه ؟
ممنون میشم


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select bcode,onvan,tdate,ddate from bet.db where ocode='+QuotedStr(trim(edit1.text))+' ');
Query1.SQL.Add('and d1>'+QuotedStr(trim(copy(MaskEdit1.Text,5,2)))+'and d2<'+QuotedStr(trim(copy(MaskEdit2.Text,5,2)))+' ');
Query1.SQL.Add('and m1>'+QuotedStr(trim(copy(MaskEdit1.Text,3,2)))+'and m2<'+QuotedStr(trim(copy(MaskEdit2.Text,3,2)))+' ');
Query1.open;

حمیدرضاصادقیان
یک شنبه 15 بهمن 1385, 09:43 صبح
دوست عزیز ظاهر امر مشکلی نیست .
نکته :لطف کنید کد خود رو در [code ] , [ /code] قرار بدید تا درست نمایش داده بشه.
بعد لطف کنید پیغام خطارو هم بنویسید. البته یک لطفی کنید قبل از and یک فاصله قرار بدید. چون در نهایت رشته مورد نظرتون رو نگاه کنید متوجه خطا میشوید.

delphi5
یک شنبه 15 بهمن 1385, 10:06 صبح
با تشکر


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select bcode,onvan,tdate,ddate from bet.db where ocode='+QuotedStr(trim(edit1.text))+' ');
Query1.SQL.Add('and d1>'+QuotedStr(trim(copy(MaskEdit1.Text,5,2)))+'and d2<'+QuotedStr(trim(copy(MaskEdit2.Text,5,2)))+' ');
Query1.SQL.Add('and m1>'+QuotedStr(trim(copy(MaskEdit1.Text,3,2)))+'and m2<'+QuotedStr(trim(copy(MaskEdit2.Text,3,2)))+' ');
Query1.open;

راستش مشکل اینجاست که هیچی بهم بر نمیگردونه
و maskedit2, maskedit1 یه بازه تاریخ رو ازم میگره - حالا من دو تا تاریخ رو توی بانکم با 6 تا متغیر تعریف کردم . حالا باید توی یه بازه دنبال یه سری اطلاعات بگردم .d1 توی بانک روز اول است و m1 توی بانک ماه اول است و d2 روز دوم و به همین ترتیب
حالا میتونید کمکم کنید؟

delphi5
یک شنبه 15 بهمن 1385, 10:57 صبح
یکی نیست که جوابمو بده . خیلی گیرم

حمیدرضاصادقیان
یک شنبه 15 بهمن 1385, 11:36 صبح
کد زیر رو امتحان کن فکر کنم جوابتو بده.


Query1.SQL.Clear;
Query1.SQL.Add('select bcode,onvan,tdate,ddate from bet.db where ocode='+QuotedStr(trim(edit1.text))+' ');
Query1.SQL.Add(' and d1>'+QuotedStr(trim(copy(MaskEdit1.Text,5,2)))+' and d2<'+QuotedStr(trim(copy(MaskEdit2.Text,5,2)))+' ');
Query1.SQL.Add(' and m1>'+QuotedStr(trim(copy(MaskEdit1.Text,3,2)))+' and m2<'+QuotedStr(trim(copy(MaskEdit2.Text,3,2)))+' ');
Query1.open;

delphi5
یک شنبه 15 بهمن 1385, 13:11 عصر
پیغام خطا میده
لطفا کمکم کنید

zerobit-ltd
یک شنبه 15 بهمن 1385, 13:33 عصر
من خودم delphi کار نیستم، ولی یه کوچولو از sql سر در می آرم.
اول اینکه مطمئن هستید که تو table شما رکوردی که شرایط فوق رو داشته باشه، موجود هست؟
دومین پیشنهاد من اینه که مقدار نهایی که در Query1 قرار می گیره رو اینجا قرار بدید تا طبق query تولید شده بتونیم اشکال رو پیدا کنیم. در ضمن نوع فیلدهایtable رو هم قید کنید تا راحت تر بتونیم کار کنیم.

delphi5
یک شنبه 15 بهمن 1385, 14:02 عصر
بله چنین رکوردی وجود داره
همه فیلدها کاراکتری هستند
بانک من هم ضمیمه شده است
خروجی هم ضمیمه است

حمیدرضاصادقیان
یک شنبه 15 بهمن 1385, 16:10 عصر
کدی رو که در بالا نوشتم رو دوباره امتحان کن شاید درست بشه اگر نشد یک کاری کن.
قبل از اینکه جدول رو open کنی دستور زیر رو بنویس و اونو اینجا تایپ کن



showmessage(query1.sql.text);

delphi5
یک شنبه 15 بهمن 1385, 17:06 عصر
مشکل توی Apace بود ؟

حمیدرضاصادقیان
دوشنبه 16 بهمن 1385, 08:59 صبح
بله در فاصله ها دقت نمایید. اگر هم شک کردی دستوری که برای نمایش text نوشتم رو خودت یک بار قبل از باز کردن جدول اجرا کن دقیقاً متوجه ایرادت خواهی شد.