المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
سلام الله عليكم
كيفي البحث عن كلمة وسط قاعدة بيانات بإحدى الحالتين:
1- كلمة في حقل
2- كلمة في الجدول
و جزاكم الله كل خير
المشاركات : 79
المواضيع 16
:
: 0
الإنتساب : Sep 2010
الان على حسب خبرتي البسيطه في دلفي
انت بتستخدم مكون sql يعني يتعامل مع ال SQL او تعليمات لغة قواعد البيانات
ومن هذا نستنتج أن اللغه التي يجب ان تستخدمها في هذا الاستعلام هي لغة ال SQL
لذالك شيك على هذا الموقع وان شاء الله يفيدونك الشباب أكثر
كود :
http://www.w3schools.com/sql/default.asp
=============
ملاحظه كلامي يحتمل الخطأ لاني مبتدأ في الدلفي واجبت عليك بحسب ما افهمه
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
11-10-2010, 07:16 PM
(آخر تعديل لهذه المشاركة: 12-10-2010, 07:54 PM بواسطة kachwahed.)
المشاركات : 219
المواضيع 24
:
: 16
الإنتساب : May 2009
السلام عليكم
الكود التالي يبحث عن كلمة أو نص داخل كل الحقول في كل جداول قاعدة البيانات.
ويضع ناتج البحث (الجدول و رقم التسجيلة و الحقل) في 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;
المشاركات : 98
المواضيع 36
:
: 0
الإنتساب : Oct 2010
السلام عليكم جميعا
أخي شقروني هل يصلح هذا الكود مع قاعدة البيانات أكسس وما هي التعديلات اللازمة.
مشكور
المشاركات : 219
المواضيع 24
:
: 16
الإنتساب : May 2009
السلام عليكم
إقتباس :أخي شقروني هل يصلح هذا الكود مع قاعدة البيانات أكسس وما هي التعديلات اللازمة.
الكود أصلا خاص بقاعدة بيانات اكسيس.
بالنسبة لباقي أنواع قواعد البيانات فالفكرة نفسها يمكن تطبيقها.
استخدام الدالة Pos للبحث أسرع بكثير من استخدام جمل Sql مثل Like. خاصة مع حقول المذكرة في قواعد بيانات ضخمة.
المشاركات : 98
المواضيع 36
:
: 0
الإنتساب : Oct 2010
مشكور يا أخي سأجرب وإذا واجهتني مشكلة فسأعود إليك
المشاركات : 1
المواضيع 0
:
: 14
الإنتساب : Sep 2017
13-03-2024, 06:18 AM
(آخر تعديل لهذه المشاركة: 13-03-2024, 06:26 AM بواسطة belkhir2.)
السلام عليكم
تعديل بسيط على كود اخي Shagrouni
تعطيل نافذة Login Prompt بنسبة لاكسس
اضافة
Con.LoginPrompt:=false;