نمایش نتایج 1 تا 4 از 4

نام تاپیک: اشکال درکد sql

  1. #1
    کاربر دائمی آواتار amirkazem
    تاریخ عضویت
    تیر 1388
    محل زندگی
    استان گلستان
    پست
    393

    اشکال درکد sql

    باسلام وتبریک سال نوهمراه باآرزوی بهترینهابرای شمادوستان درسال 96

    دوستان! می خواهیم یک کوئری را اجراکنیم که ابتدا شناسه قبض را ازیک (DBLookupcombobox) می گیره وسپس تاریخ پرداخت رادرمحدوده بین 2تاریخ داشته باشیم. کد sql به شرح ذیل است . دوستان لطفاً اشکال کد را بفرمایند.

    p= pardakht
    شناسه قبض= p.sh_ghabz
    تاریخ پرداخت=date_pardakht


       'SELECT * FROM pardakht AS p INNER JOIN ghabz AS g ON p.sh_ghabz=g.sh_ghabz WHERE p.sh_ghabz='+QuotedStr(search_frm.DBLookupComboBox  1.KeyValue) and '(date_pardakht between'+QuotedStr(solardatepicker1.text)) and +QuotedStr(solardatepicker2.text)));

  2. #2

    نقل قول: اشکال درکد sql

    نقل قول نوشته شده توسط amirkazem مشاهده تاپیک
    باسلام وتبریک سال نوهمراه باآرزوی بهترینهابرای شمادوستان درسال 96

    دوستان! می خواهیم یک کوئری را اجراکنیم که ابتدا شناسه قبض را ازیک (DBLookupcombobox) می گیره وسپس تاریخ پرداخت رادرمحدوده بین 2تاریخ داشته باشیم. کد sql به شرح ذیل است . دوستان لطفاً اشکال کد را بفرمایند.

    p= pardakht
    شناسه قبض= p.sh_ghabz
    تاریخ پرداخت=date_pardakht


       'SELECT * FROM pardakht AS p INNER JOIN ghabz AS g ON p.sh_ghabz=g.sh_ghabz WHERE p.sh_ghabz='+QuotedStr(search_frm.DBLookupComboBox  1.KeyValue) and '(date_pardakht between'+QuotedStr(solardatepicker1.text)) and +QuotedStr(solardatepicker2.text)));
    با سلام دوست عزیز
    اگه از اشکالات نوشتاری این کد (مثلا نذاشتن کوتیشن قبل از and و + و ...) بگذریم و به این خاطر که پروژه و بانک اطلاعاتی شما در دسترس بقیه نیست که بتونن دقیقا کمک کنن
    به نظر من اگه شما میخوای راحت تر متوجه بشی چرا این کد نتیجه ای در خروجی نداره روی خط مورد نظر کد یک بریک پوینت بذار و وقتی که به اونجا رسیدی با کلید ctrl+f7 متن ساخته شده داخل کوئری که این کد رو اجرا میکنه رو کپی کن و ببر داخل خود sql و اونجا اجراش کن
    اینطوری خیلی راحت متوجه میشی مشکل از کجاست

  3. #3
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: اشکال درکد sql

    سلام قبل از اینکه کوئری اجرا بشه، ( قبل از Tquery.Open(); //or execute ) متن کوئری نهایی تون رو در یک تکست بریزید و مشاهده کنید و اشکالش رو پیدا کنید.

  4. #4
    کاربر دائمی آواتار hp1361
    تاریخ عضویت
    دی 1384
    محل زندگی
    تهران
    پست
    750

    نقل قول: اشکال درکد sql

    نقل قول نوشته شده توسط amirkazem مشاهده تاپیک
    باسلام وتبریک سال نوهمراه باآرزوی بهترینهابرای شمادوستان درسال 96

    دوستان! می خواهیم یک کوئری را اجراکنیم که ابتدا شناسه قبض را ازیک (DBLookupcombobox) می گیره وسپس تاریخ پرداخت رادرمحدوده بین 2تاریخ داشته باشیم. کد sql به شرح ذیل است . دوستان لطفاً اشکال کد را بفرمایند.

    p= pardakht
    شناسه قبض= p.sh_ghabz
    تاریخ پرداخت=date_pardakht


       'SELECT * FROM pardakht AS p INNER JOIN ghabz AS g ON p.sh_ghabz=g.sh_ghabz WHERE p.sh_ghabz='+QuotedStr(search_frm.DBLookupComboBox  1.KeyValue) and '(date_pardakht between'+QuotedStr(solardatepicker1.text)) and +QuotedStr(solardatepicker2.text)));
    سلام

    سال نو شما هم مبارک

    در قدم اول توی پرانتز و کوتیشن گزاری اشتباه کردی. اصلاح شده کد شما میشه این:


    'SELECT * FROM pardakht AS p INNER JOIN ghabz AS g ON p.sh_ghabz=g.sh_ghabz WHERE p.sh_ghabz=' +
    QuotedStr(search_frm.DBLookupComboBox1.KeyValue) + ' and (date_pardakht between ' + QuotedStr(solardatepicker1.text)
    + ' and ' + QuotedStr(solardatepicker2.text) + ')'


    جدای از این کدها روش پیشنهادی من استفاده از پارامتر جهت دوری از اینگونه اشتباهات و البته قابل فهم تر شدن کدهاست.

    کد شما به این روش با فرض استفاده از کوئری فایرداک بصورت زیر خواهد شد:


    FDQry_1.Close;
    FDQry_1.SQL.Clear;
    FDQry_1.SQL.Add
    ('SELECT * FROM pardakht AS p INNER JOIN ghabz AS g ON p.sh_ghabz=g.sh_ghabz WHERE p.sh_ghabz=:ParamShGhabz and (date_pardakht between :StartDate and :EndDate)');
    FDQry_1.Params.ParamByName('ParamShGhabz').Value := search_frm.DBLookupComboBox1.KeyValue;
    FDQry_1.Params.ParamByName('StartDate').Value := solardatepicker1.text;
    FDQry_1.Params.ParamByName('EndDate').Value := solardatepicker2.text;
    FDQry_1.Open();


    موفق باشیم

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: سه شنبه 12 شهریور 1392, 21:06 عصر
  2. سوال: اشکال در sql server 2000
    نوشته شده توسط aliramazani در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 08 شهریور 1388, 19:40 عصر
  3. اشکال در sql server 2005
    نوشته شده توسط ITST-1 در بخش SQL Server
    پاسخ: 4
    آخرین پست: دوشنبه 07 خرداد 1386, 13:36 عصر
  4. پاسخ: 2
    آخرین پست: شنبه 03 اردیبهشت 1384, 00:58 صبح
  5. اشکال در sql server و فایل های دانلود شده از سایت مایکروسافت
    نوشته شده توسط amuSoheil در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 6
    آخرین پست: چهارشنبه 22 مرداد 1382, 00:51 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •