الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث في قواعد البيانات وإضافة ترقيم تلقائي

مغلق
بدأه magellan في 12 مايو 2006 · 6 رد · 1,062 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

عندي سؤال بسيط

وهو أني أنشأت قاعدة بيانات باستخدام TDataSource و TClientDataSet

ولدي ثلاثة حقول

ID و L_Name و F_Name

وأريد أن أضيف ترقيم تلقائي في الحقل ID

والبحث في كافة الحقول

فما هي الخاصية التي نستخدمها أو الكود الذي نستطيع البحث به ؟؟؟

مع العلم أني وجدت هذا الكود وما زبط معي

اقتباس
يمكن البحث بإستخدام تعليمة Locate في أكثر من حقل بحيث نبحث عن الموظف حسب حقل الإسم الأول و حقل الإسم الثاني . فإذا كان حقل الإسم الأول F_name والإسم الثاني L_name والقيم في Edit1 و Edit2 على التوالي أمكننا ببساطة كتابة الشفرة التالية :

if not ClientDataSet1.Locate(F_Name;L_Namevararrayof([edit1.TextEdit2.Text])[]) then
showmessage(Filed Not Found);

ويتم ذلك بفصل الحقول المراد البحث فيها بفاصلة منقوطة وفصل القيم بإستخدام الدالة VarArrayOf

يا ليت تجاوبوني مشكوووورين

#2
اقتباس
وأريد أن أضيف ترقيم تلقائي في الحقل ID

قم بوضع الحقل ID من النوع Calculated Field و من ثم في الحدث OnclacFields لل ClientDataSet

قم بكتابة الكود التالي

procedure TForm4.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
  if ClientDataSet1.RecNo > 0 then
	ClientDataSet1ID.Value:= ClientDataSet1.RecNo;
end;

اقتباس
فما هي الخاصية التي نستخدمها أو الكود الذي نستطيع البحث به ؟؟؟

يبدو انه هناك الكثير من الاخطاء في الكود الذي وجدته قم بالتعديل الى مايلي

  ClientDataSet1.Locate('F_Name;L_Name',VarArrayOf([Edit1.Text,Edit2.Text],[]));

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3
waeldalol كتب:
قم بوضع الحقل ID من النوع Calculated Field و من ثم في الحدث OnclacFields لل ClientDataSet

قم بكتابة الكود التالي

procedure TForm4.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
  if ClientDataSet1.RecNo > 0 then
	ClientDataSet1ID.Value:= ClientDataSet1.RecNo;
end;

ما زبط معي الكود هذا فعدلت عليه

if ClientDataSet1.RecNo >0 then
  ClientDataSet1.FieldByName('ID').Value:= ClientDataSet1.RecNo;

أما الكود الثاني فما زبط معاي مرره :s

يطلع فيه خطأ فالإشاره هذي

,[]))

وهي الموجود بآخر الكود

عموماً مشكوور عالمساعدة ويعطيك ربي ألف عافيه :)

#4
اقتباس
ما زبط معي الكود هذا فعدلت عليه

و ذلك بسبب انك لم تضف الحقل في Field editor و الذي يظهر عند النقر مرتين على ClientDataSet

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

يطلع فيه خطأ فالإشاره هذي

الكود شغال 100 % و لكن لا اعرف بماذا اخطأت لا يوجد اي مشاكل اخي الكريم

هل من المعقول ان تكون قد اخطأت بكتابة الاقواس لل if

if not ClientDataSet1.Locate('F_Name;L_Name',VarArrayOf([Edit1.Text,Edit2.Text],[])) then
showmessage('Filed Not Found');

القوسين الذين في الاخير [] يمكن عدم وضع قيمة بداخلهما لان وضع قيمة بداخلهما اختياري

تم تعديل هذه المشاركة بواسطة waeldalol في 12 مايو 2006 في 22:48

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#5

مشكوووور ويعطيك العافيه

والله يوفقك

#6

يمكنك جعل الحقل ID ترقيم تلقائي وذلك أثناء انشاء قاعدة البيانات وبدون الحاجة إلى كود

وذلك بأن تجعل الحقل ID من النوع التلقائي (Autoincrement) وتختصر بـ +

ملاحظة : قاعدة البيانات من نوع بارادوكس.

والسلام عليكم ورحمة الله وبركاته

********************************************************************************

آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

66850879_b6e633000d_m.jpg

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا

بـاع الحيـاة رخيـصـة لله والله اشـتـرى

خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون

فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون

موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات

إيميلي هو:Aboalnoor@maktoob.com

ياهو :adnanalabuo@yahoo.com

هوت ميل:AdnanAlabuo@hotmail.com

مدونتي الخاصة

#7

يا اخي الرجل يستخدم ClientDataSet انتبه الى ذلك

سوف نوضح ذلك عما قريب إن شاء الله في دورة قاعدة البيانات

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

مواضيع مشابهة