الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رسالة خطأ في تنفيذ quey

بدأه okail في 10 ديسمبر 2010 · 8 رد · 1,054 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي هو

لماذا تظهر هذه الرسالة

arguments are of the wrong type,are out of accepteble range, or are in conflict with one

another

عند استخدام هذا الكود في دلفي 2009

with ADOQsave do 
     begin 
   Close; 
      SQL.Clear; 
      SQL.Add('UPDATE  rawateb'); 
      SQL.Add('SET'); 
      SQL.Add('e_no=:t1,emp_name=:t2,branch=:t3,branch_no=:t4,R_account=:t5,iqma=:t6'); 
      SQL.Add('salary=:t7,solfa=:t8,static_mokafa=:t9,add_hour=:t10,hour_value=:t11,mashawer=:t12'); 
      SQL.Add('add_value=:t13,wagabat=:t14,badl=:t15,mokafaa=:t16,other_add=:t17,gyab_day=:t18'); 
      SQL.Add('gyab=:t19,gazaa=:t20,hasmelsolfa=:t21,rsed_solfa=:t22,hasmtamin=:t23,other_sub=:t24,safy=:t25,r_year=:t27,r_month=:t28'); 
      SQL.Add(' WHERE e_no =:w1 and r_year=:w2 and r_month=:w3 '); 
      Prepared; 

      Parameters.ParamByName('t1').Value          := rawateb.Edit24.Text ; 
      Parameters.ParamByName('t2').Value           := rawateb.Edit25.Text ; 
      Parameters.ParamByName('t3').Value           := rawateb.Edit4.Text ; 
      Parameters.ParamByName('t4').Value           := (rawateb.Edit40.Text) ; 
      Parameters.ParamByName('t5').Value           := rawateb.Edit26.Text ; 
      Parameters.ParamByName('t6').Value           := rawateb.Edit29.Text ; 
      Parameters.ParamByName('t7').Value           := StrToInt(rawateb.Edit27.Text) ; 
      Parameters.ParamByName('t8').Value           := StrToInt(rawateb.Edit28.Text); 
      Parameters.ParamByName('t9').Value           := StrToInt(rawateb.Edit30.Text); 
      Parameters.ParamByName('t10').Value          := StrToFloat(rawateb.Edit38.Text); 
      Parameters.ParamByName('t11').Value          :=StrToInt(rawateb.Edit20.Text); 
      Parameters.ParamByName('t12').Value          := StrToInt(rawateb.Edit21.Text); 
      Parameters.ParamByName('t13').Value          := StrToInt(rawateb.Edit22.Text); 
      Parameters.ParamByName('t14').Value          := StrToInt(rawateb.Edit23.Text); 
      Parameters.ParamByName('t15').Value          := StrToInt(rawateb.Edit19.Text); 
      Parameters.ParamByName('t16').Value          := StrToInt(rawateb.Edit31.Text); 
      Parameters.ParamByName('t17').Value          := StrToInt(rawateb.Edit32.Text); 
      Parameters.ParamByName('t18').Value          := StrToFloat(rawateb.Edit13.Text); 
      Parameters.ParamByName('t19').Value          := StrToInt(rawateb.Edit33.Text); 
      Parameters.ParamByName('t20').Value          := StrToInt(rawateb.Edit34.Text); 
      Parameters.ParamByName('t21').Value          :=StrToInt(rawateb.Edit35.Text); 
      Parameters.ParamByName('t22').Value          :=StrToInt(rawateb.Edit39.Text); 
      Parameters.ParamByName('t23').Value          := StrToInt(rawateb.Edit36.Text); 
      Parameters.ParamByName('t24').Value          := StrToInt(rawateb.Edit37.Text); 
      Parameters.ParamByName('t25').Value          :=StrToInt(rawateb.Edit17.Text); 
 {     Parameters.ParamByName('t26').Value             := typevalue1 ;  } 
      Parameters.ParamByName('t27').Value          := StrToInt(rawateb.Edit9.Text); 
      Parameters.ParamByName('t28').Value          := StrToInt(rawateb.Edit10.Text); 
  {    Parameters.ParamByName('t29').Value         := edrag1 ;       } 

       Parameters.ParamByName('w1').Value := rawateb.Edit24.Text ; 
      Parameters.ParamByName('w2').Value  := rawateb.Edit9.Text; 
      Parameters.ParamByName('w3').Value  := rawateb.Edit10.Text ; 
       ExecSQL ;
#2

السلام عليكم...

نسيت أن تضع فواصل (comma) بعد t6 و t12 و t18 عند إضافتها إلى الخاصية SQL حتى تفصلها عن العبارة التي تليها ضمن الـ SQL.

يعني:

      SQL.Add('e_no=:t1,emp_name=:t2,branch=:t3,branch_no=:t4,R_account=:t5,iqma=:t6,'); 
      SQL.Add('salary=:t7,solfa=:t8,static_mokafa=:t9,add_hour=:t10,hour_value=:t11,mashawer=:t12,'); 
      SQL.Add('add_value=:t13,wagabat=:t14,badl=:t15,mokafaa=:t16,other_add=:t17,gyab_day=:t18,');

نرجو الاستفادة و السلام.

تم تعديل هذه المشاركة بواسطة najy_zl في 10 ديسمبر 2010 في 17:34

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

وعليكم السلام ورحمة الله

نعم نسيت الفواصل

ولكني وضعت الفواصل ومازالت نفس رسالة الخطأ لم تتغير

ماذا تعني هذه الرسالة

وهل هناك طريقة اخرى باستخدام الكويري للتعديل و الحذف

شاكر حسن تعاونكم

تم تعديل هذه المشاركة بواسطة okail في 10 ديسمبر 2010 في 18:46

#4

up

#5

السلام عليكم...

الرسالة تعني أن:

القيم المعطاة للبارامترات غير متوافقة مع أنواع الحقول التي تمثلها البارامترات.

أو: القيم خارج النطاق المقبول لواحد أو أكثر من الحقول التي تمثلها البارامترات.

أو: هناك تعارض بين بعض القيم.

أعتقد أن عليك التأكد من أنواع الحقول و أنواع البيانات المرسلة إليها عبر البارامترات واحداً واحداً.

و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#6

استخدم الاجراء المخزن

قد تكون الجملة كبيرة لايمكن تنفيذها بالكيوري . أعتقد ان عدد المحارف الخاصة بالكيوري لايمكنة استيعاب الجملة

#7

كيف اسوي اجراء مخزن

مع العلم ان قاعدة البيانات sql server

#9

السلام عليكم

مشكورين

انا فعلا اطلعت على الرابط في مشاركة الاخ طلال

وايضاً حللت المشكلة بنصيحة الاخ najy_zl

وهي عدم توافق حقل من الحقول مع الباراميتر وهو ماسبب هذه الرسالة

جزاكم الله خيراً

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…