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

مساعدة في مشروعي عملية( البحث في قاعدةالبيانات

مغلق
بدأه dream qq في 28 مارس 2006 · 7 رد · 869 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

باالمناسبة هذه اول مشاركة لي في المنتدى :rolleyes:

اريد مساعدة في عملية البحث في قاعدة البيانات لمشروعي حيث هناك مربع نص يدخل فيه المستخدم اسم العائلة ويضغط زر البحث فيظهر

في الليبل الاول الاسم والثاني العائلة والثالث المنطقة والرابع الهاتف

حيث اسم قاعدة البيانات daleel ويوجد فيها جدول واحد اسمة ALL ويحتوي على order - family - name - city - phone number

وقد وجدت في المنتدى شرح مبسط لعملية البحث ولكن عندما حاولت تطبيقة ينهار البرنامج

ارجو التوضيح اكثر

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

مثلا لم افهم معنى هذا الكود

Function Search(ByVal Table As String, ByVal field As String, ByVal Txt As String) As DataSet

Try

CMD.CommandType = CommandType.Text

CMD.CommandText = "select * from " + Table + " where " + field + " like('" + Txt + "%')"

Dim ds As DataSet = New DataSet

Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter

da.SelectCommand = CMD

CMD.Connection = Connection

ds.Clear()

da.Fill(ds)

Return ds

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Function

إحدى المتع الرائعة في الحياة... هي أن تحقق مايقول الناس إنك لاتستطيع تحقيقة ...

#2

-9

إن شاء الله سأحاول توضيح معنى هذا الكود

function = وظيفة يتم إرجاع ناتج منها

الوظيفة public لكى تستخدم على مدار الproject كله , إسمها search وهى تأخذ 3 قيم وهم إسم الtable وإسم الfield والقيمة الموجودة فى الfield المراد البحث عنها وتعطينا dataset

Public Function Search(ByVal Table As String, ByVal field As String, ByVal Txt As String) As DataSet

Try

CMD هو إسم الcommand وأختار نوعه بtext أى أن المبرمج هو الذى سيرسل جملة الcommand من الapplication إلى الserver

CMD.CommandType = CommandType.Text

هنا كتب جملة الcommand

CMD.CommandText = "select * from " + Table + " where " + field + " like('" + Txt + "%')"

عرف الdataset بإسم ds

Dim ds As DataSet = New DataSet

عرف dataadapter بإسم da

Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter

عرف الselectcommand في الdataadapter للcommand وهو السابق تعريفه

da.SelectCommand = CMD

عرف الconnection للcommand السابق ذكره

CMD.Connection = Connection

إفراغ الdataset

ds.Clear()

ملء الdataset

da.Fill(ds)

هذة الوظيفة تعيد إلينا الdataset كما ذكرت في أول الكود

Return ds

يعيد الإستثناءات أو الأخطاء في messagebox إن وجدت

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Function

يمكنك إستخدام هذة الوظيفة عن طريق إستدعائها في زر

Me.Search("your table name", "your field name", "the value you want to serarch")

ولكن قبل ذلك عليك تعريف ال connection وال command بهذا الكود قبل كتابة أى كود

Dim connection As New OleDb.OleDbConnection
    Dim CMD As New OleDb.OleDbCommand

إن كان هناك شئ لم أوضحه جيدا فأخبرنى وأنا تحت أمرك

-waf

تم تعديل هذه المشاركة بواسطة enjyshahin في 28 مارس 2006 في 22:20

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#3

-9

اقتباس
حيث اسم قاعدة البيانات daleel ويوجد فيها جدول واحد اسمة ALL ويحتوي على order - family - name - city - phone number

يمكنك إستخدام هذة الfunction بهذة الطريقة بداخل زر على سبيل المثال

Me.Search("ALL", "name", "dream qq")

-waf

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#4

نسيت أن إذكر لك أن تعمل تربط ال labels بالdataset فى الزر

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#5

مشكور اخوي بس حبيت اعرف ليش علامة % في الكود

وجاري التجربة

ومشكور اخوي وتعبتك معاي وجزاك الله كل خير

إحدى المتع الرائعة في الحياة... هي أن تحقق مايقول الناس إنك لاتستطيع تحقيقة ...

#6

وهذه الصورة

post-62546-1143810432_thumb.jpg

إحدى المتع الرائعة في الحياة... هي أن تحقق مايقول الناس إنك لاتستطيع تحقيقة ...

#7

-9

اقتباس
ليش علامة % في الكود

هذة العلامة معناها أنك عندما تبحث عن إسم فلا تكتبه بالكامل وأنما تكتب مثلا الإسم الأول وتريد باقى الإسم

مثال

عندك أسم (محمد مصطفى إبراهيم) وتريد البحث بإسم محمد

select * from table1 where name like 'محمد%'

وأن كنت تريد البحث عن إسم محمد ولا تعرف أن كان في الأول أو الوسط أو الأخر

select * from table1 where name like '%محمد%'

بالنسبة لسؤالك فأنى أعتقد أنك تقوم بعمل drag and drop لdataadapter سواء أكانت access أو sql وتحدد جملة الselect فيها ومن right click على الdataaadapter تختار genrate dataset وتقوم بربط الlabels من الproperties لكل label من databindings ثم text ثم تختار من الdataset ما تريد ربطه بكل label

في جملة الselect يمكنك كتابة where family = @family

في زر البحث تكتب

(Oledb)SqlDataadapter.SelectCommand.Parameter("@family").value = CStr(FamilyTextbox.Text)
(Oledb)SqlDataadapter.Fill(Dataset1,"Table_Name")

وأن شاء الله تظهر البيانات التى تريدها

-waf

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#8

مشكور اخوي على التوضييح و البرنامج اشتغل

إحدى المتع الرائعة في الحياة... هي أن تحقق مايقول الناس إنك لاتستطيع تحقيقة ...

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…