خطأ عند استخدام Parameters.ParamByName
#1
السلام عليكم ورحمة الله
خطأ عند استخدام Parameters.ParamByName في دلفي 7 مع ado
حيث أني لما انفذ
كود :
With qry1 do begin Close; SQL.Clear; SQL.Add('select * where NOM=:d1'); Parameters.ParamByName('d1').Value:=TBL.FieldByName('nom')AsStrinG; Open; end;
يظهر الخطأ
كود :
error (object parameter defini de manier inncorect, des information incoherantes ou incompletes ont ete fournies)
الرد
#2
select * where NOM=:d1
يجب تحدد اسم الجدول يعني
select * From table where .......
الرد
#3
بارك الله فيك أخي
أنا أعلم التعليمة كالتالي
كود :
With qry1 do begin Close; SQL.Clear; SQL.Add('select* from indice where cat=:d1') Parameters.ParamByName('d1').Value:=tbl.FieldByName('nom_fct').Value; Open; end;

لكن المشكلة في .value
ربما
بارك الله فيك
الرد
#4
ممكن هذا الرابط يساعدك

إستعلام بين تاريخين باستخدام مكونين datetimepiker
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#5
كود :
With qry1 do begin Close; SQL.Clear; SQL.Add('select * where NOM=:d1'); parameters.ParamByName('d1').DataType:=ftWideString; Parameters.ParamByName('d1').Value:=TBL.FieldByName('nom').AsStrinG; Open; end;


تفظل أخي هذا هو الحل لمشكلتك
الرد
#6
قد يكون السبب هو عدم تماثل نوع البيانات مثلما رد الاخ آنفا
وقد يكون السبب هو ان قيمة الحقل في الجدول غير محددة
nill / null

جرب فحص الحقل والتأكد ن ان القيمة التي فيه صحيحة
if "the field is not null" then assign the data values to the parameter
الرد
#7
إقتباس :
كود :
parameters.ParamByName('d1').DataType:=ftWideString;
أيضا اضبط Type (تحت Value) على نمط البيانات للـ Parameter من Object Inspector
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم