![]() |
|
البحث في ال SQL عن طريق Delphi - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : البحث في ال SQL عن طريق Delphi (/showthread.php?tid=4804) |
البحث في ال SQL عن طريق Delphi - كمال المجاني - 24-12-2012 السلام عليكم أنشأت برنامجا في الدلفي على شكل مخدم زبون و اردت من خلاله البحث في قاعدة البيانات الموجودة في ال sql كما يلي بعد الاتصال الناجح بقاعدة البيانات اود البحث عن تواريخ في قاعدة البيانات من خلال فورم في دلفي حيث انني اضع edit1 و edit2 الاول اضع فيه التاريخ الاول و الثاني اضع فيه التاريخ الثاني و dataset و ADOQuery1 و اتحصل على جميع التواريخ التي هي بين التارخ الاول و الثاني في dbgrid فماهي الجملة الصحيحة التي أكتبها في (TStrings) الخاص ب ADOQuery1 كي يتم البحث وكذلك في فورم اخراود بمجرد كتابة الحروف الاولى لاي اسم يظهر في ال dbgrid جميع الاسماء التي المكونة من تلك الحروف مثللا عند كتابة الحروف الاولى محم تظهر لي في dbgrid اسم محمد و محمود وعند تكملة الكتابة محمد تختفي كلمة محمود عذرا على الاطالة و بارك الله فيكم البحث في ال SQL عن طريق Delphi - محمد الدرة - 24-12-2012 اولا قم بانشاء بارامترين (a,b)في مكون adoquery من نوع ftString ثم اكتب هذا الكود كود : adoquery1.SQL.Text:='select * from table where date between :a and :b ';
adoquery1.Parameters.ParamByName('a').Value:=datetostr(d1.Date);
adoquery1.Parameters.ParamByName('b').Value:=datetostr(d2.Date);
adoquery1.open;بالتوفيق البحث في ال SQL عن طريق Delphi - you_per7 - 24-12-2012 السلام عليكم استخدم مكون DateTimePicker بدلا من EDIT كود : procedure TForm1.Button7Click(Sender: TObject);
begin
with ADOQuery1 do begin
Close;
SQL.Clear;
SQL.text :=('SELECT * FROM TABLE where DATE between #'+FormatDateTime('mm/dd/yyyy',DateTimePicker1.date)+'#'+'and #'+FormatDateTime('mm/dd/yyyy',DateTimePicker2.date)+'#') ;
Open;
end;
end;البحث في ال SQL عن طريق Delphi - كمال المجاني - 29-12-2012 لم تنجح معي لانه لم يتم تحويل DateTimePicker1.date الى string و بالتالي لا يتعرف عليه ال sql هل من طريقة اخرى البحث في ال SQL عن طريق Delphi - tarek.inf - 29-12-2012 تحية طيبة بما ان ADOQuery تملك الخاصية filter يمكن استعمالها مباشرة دون تعليمات sql مثال جدول يتكون من nom .date1 كود : [align=left]select nom,date1 from table1[/align]كود : [align=left]procedure Form1.Edit1Change(Sender: TObject);
begin
IF edit1.GetTextLen<> 0 then
begin
ADOQuery1.Filter:='nom='''+Edit1.Text+'*''';
ADOQuery1.Filtered:=true;
end
else
ADOQuery1.Filtered:=false;
end;[/align]للفلترة بين تاريخين كود : [align=left]procedure Tform1.Button1Click(Sender: TObject);
begin
ADOQuery1.Filter := '(Date1>='+QuotedStr(DateToStr(DateTimePicker1.Date))+') and (Date1<='+QuotedStr(DateToStr(DateTimePicker2.Date))+')';
end;[/align]البحث في ال SQL عن طريق Delphi - كمال المجاني - 29-12-2012 حفظك الله و بارك فيك و في أهلك اخي tarek.inf شكرا على الاهتمام سأجرب و سأعلمك بالنتيجة للتنبيه يجب اضافة للفلترة بين تاريخين في اخر الكود قبل ; end مايلي ADOQuery1.Filtered:=true; حتى تصبح النتيجة تامة و صحيحة بارك الله فيكم ونفعكم و نفع الناس بعلمكم الى كل من محمد الدرة you_per7 tarek.inf البحث في ال SQL عن طريق Delphi - makhlouf - 30-12-2012 كمال المجاني كتب :لم تنجح معي لانه لم يتم تحويل DateTimePicker1.date الى string و بالتالي لا يتعرف عليه ال sql هل من طريقة اخرى أولا الحمد لله الذي وفقك للحل الصحيح أما فيما يخص تحويل التاريخ الى سترينغ فيمكن اضافة الامر datetostr datetostr(DateTimePicker1.Date);
كما هو موضح في هذا الاستعلام من مشاركة الأخ "you_per7 "procedure TForm1.Button7Click(Sender: TObjec t);
begin with ADOQuery1 do begin Close; SQL.Clear; SQL.text :=('SELECT * FROM TABLE where DATE between #'+datetostr(FormatDateTime('mm/dd/yyyy',DateTimePicker1.date))+'#'+'and #'+FormatDateTime('mm/dd/yyyy',DateTimePicker2.date)+'#') ; Open; end; البحث في ال SQL عن طريق Delphi - كمال المجاني - 30-12-2012 بارك الله فيك و حفظك من كل مكروه شكرا على الاهتمام اخي makhlouf فيما يخص الكود الذي اعطاني اياه الاخ you_per7 و الذي اعطيتنيه انت الفرق بينهما هو في datetostr سأجربه ولكم جزيل الشكر البحث في ال SQL عن طريق Delphi - dliouahb - 03-05-2014 بارك الله فيكم جميعا ... |