![]() |
|
لماذا لا يتم الفلترة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : لماذا لا يتم الفلترة (/showthread.php?tid=7374) |
لماذا لا يتم الفلترة - محمد .م.م - 30-12-2015 وضعت هذا الكود PHP كود : procedure TForm2.Button13Click(Sender: TObject);ولكن عند الضغط على Button13 لاينفذ وتظهر تلك الرسالة access violation at address 004bb57c in module project1.exe read of address 00000000 ماسبب هذه الرسالة ولماذا لاتحدث الفلترة RE: لماذا لا يتم الفلترة - لؤي - 31-12-2015 السلام عليكم PHP كود : beginأظن أن الخطأ في محاولتك تحويل % إلى عدد حقيقي RE: لماذا لا يتم الفلترة - hamzabenz - 31-12-2015 السلام عليكم اولا هذا ليس كود الفلترة بل هو كوذ من ادل تحديد البيانات التي تظهر من قاعدة البيانات على كل الخطأ في هذا الكود هنا بدل كود : [align=left][font=monospace] ADOQuery1.SQL.text :=('SELECT * FROM ww where s like '+QuotedStr('%'+Edit7.text +'%')) ;[/font][/align]كود : [align=left][font=monospace]ADOQuery1.SQL.Add:=('SELECT * FROM ww where s like '+QuotedStr('%'+Edit7.text +'%')) ;[/font][/align]----------------------------------------------------------------------------------------------------------- الطريقة الأفضل لعمل فلترة هي ان تقوم بتكديك كل بيانات قاعد البانات ثم تقوم بالفلترة في edit الخاص بالبحجث بالفلترة
1- في الكود السابق ضع
كود : [align=right][align=left][font=monospace]ADOQuery1.SQL.text :=('SELECT * FROM ww);[/font][/align]
[/align]كود : [align=left]if edit7.text <> '' then[/align]
[align=left]begin[/align]
[align=left][font=monospace]ADOQuery1.Filtered:= false;[/font][/align]
[align=left][font=monospace][font=monospace]ADOQuery1.filter:='s LIKE ' + quotedstr(edit7.text +'%');[/font][/font][/align]
[align=left][font=monospace][font=monospace][font=monospace]ADOQuery1.[/font][font=monospace]Filtered[/font][font=monospace]:= true;[/font][/font][/font][/align]
[align=left]end else[/align]
[align=left]begin[/align]
[align=left][font=monospace]ADOQuery1.[/font][font=monospace]Filtered[/font][font=monospace]:= false;[/font][/align]
[align=left]end;[/align]RE: لماذا لا يتم الفلترة - Mr.DOS - 31-12-2015 السلام عليكم للبحث استعمل كود : ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.add('SELECT * FROM TableName WHERE FieldName LIKE "'+Edit1.text+'" ');
ADOQuery1.open;اما للفلترة ضع نفس الكود فالحدث Onchange للعنصر Edit.text اختلاف بسيط PHP كود : [font=monospace]ADOQuery1.Close;[/font]RE: لماذا لا يتم الفلترة - Effector - 31-12-2015 ظهور رساله module project1.exe read of address 00000000 تعبر عن وجود كائن لم يتم خلقه في البرنامج اي محاوله البرنامج الحصول على مؤشر بالذاكره فارغ . nil pointer |