delphi4arab منتديات دلفي للعرب
البحث عن كلمة في قاعدة بيانات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : البحث عن كلمة في قاعدة بيانات (/showthread.php?tid=2486)



البحث عن كلمة في قاعدة بيانات - لؤي - 11-10-2010

سلام الله عليكم

كيفي البحث عن كلمة وسط قاعدة بيانات بإحدى الحالتين:

1- كلمة في حقل
2- كلمة في الجدول

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


البحث عن كلمة في قاعدة بيانات - مبرمج هاوي - 11-10-2010

الان على حسب خبرتي البسيطه في دلفي

انت بتستخدم مكون sql يعني يتعامل مع ال SQL او تعليمات لغة قواعد البيانات

ومن هذا نستنتج أن اللغه التي يجب ان تستخدمها في هذا الاستعلام هي لغة ال SQL

لذالك شيك على هذا الموقع وان شاء الله يفيدونك الشباب أكثر Smile

كود :
http://www.w3schools.com/sql/default.asp

=============

ملاحظه كلامي يحتمل الخطأ لاني مبتدأ في الدلفي واجبت عليك بحسب ما افهمه Smile


البحث عن كلمة في قاعدة بيانات - kachwahed - 11-10-2010

استخدم LIKE
والبحث في المنتدى:
http://www.delphi4arab.net/forum/showthread.php?tid=998
http://www.delphi4arab.net/forum/showthread.php?tid=1625
http://www.delphi4arab.net/forum/showthread.php?tid=2926
هناك أمثلة كثيرة...



البحث عن كلمة في قاعدة بيانات - shagrouni - 22-10-2010

السلام عليكم

الكود التالي يبحث عن كلمة أو نص داخل كل الحقول في كل جداول قاعدة البيانات.
ويضع ناتج البحث (الجدول و رقم التسجيلة و الحقل) في ListBox


كود :
procedure TForm1.Button1Click(Sender: TObject); var Con: TAdoConnection; lstTables: TStringList; T, F, R: integer; ds: TADODataSet; DatabaseName: string; sTableName: string; sFind: string; begin DatabaseName := 'C:\trash\test.mdb'; sFind := Edit1.Text; Screen.Cursor := crHourGlass; lstTables := TStringList.Create; Con := TAdoConnection.Create(nil); ds := TADODataSet.Create(nil); try Con.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=' + DatabaseName + ';' + 'Persist Security Info=true'; Con.Connected := true; Con.GetTableNames(lstTables, false); ds.Connection := Con; ListBox1.Items.BeginUpdate; ListBox1.Clear; for T := 0 to lstTables.Count - 1 do begin sTableName := lstTables[T]; ds.Close; ds.CommandText := 'SELECT * FROM ' + sTableName; ds.Open; R := 0; while not ds.Eof do begin for f := 0 to ds.FieldCount -1 do begin if Pos(sFind, ds.Fields[f].AsString) > 0 then ListBox1.Items.Add(sTableName + ' - ' + IntToStr(R) + ' - ' + ds.Fields[f].FieldName + ' - ' + ds.Fields[f].AsString); end; ds.Next; R := R + 1; end; end; ListBox1.Items.EndUpdate; finally lstTables.Free; ds.Free; Con.Free; end; Screen.Cursor := crDefault; end;



البحث عن كلمة في قاعدة بيانات - وليد - 23-10-2010

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


البحث عن كلمة في قاعدة بيانات - shagrouni - 23-10-2010

السلام عليكم

إقتباس :أخي شقروني هل يصلح هذا الكود مع قاعدة البيانات أكسس وما هي التعديلات اللازمة.

الكود أصلا خاص بقاعدة بيانات اكسيس.

بالنسبة لباقي أنواع قواعد البيانات فالفكرة نفسها يمكن تطبيقها.

استخدام الدالة Pos للبحث أسرع بكثير من استخدام جمل Sql مثل Like. خاصة مع حقول المذكرة في قواعد بيانات ضخمة.


البحث عن كلمة في قاعدة بيانات - وليد - 23-10-2010

مشكور يا أخي سأجرب وإذا واجهتني مشكلة فسأعود إليك


RE: البحث عن كلمة في قاعدة بيانات - belkhir2 - 13-03-2024

السلام عليكم
تعديل بسيط على كود اخي Shagrouni

تعطيل نافذة Login Prompt بنسبة لاكسس
اضافة
Con.LoginPrompt:=false;