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

سؤال : البحث في ال dataset

مغلق
بدأه shaban2003xx في 24 مايو 2006 · 13 رد · 1,836 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

تحية طيبة للجميع : سؤالي ماهي أفضل الطرق وأسهلها للبحث عن حقل ما في جدول ما .....

مثلاً : لدي جدول الموضفين بإسم (Employees) وبه الحقلين التاليين :

اـ رقم الموظف (Emp_no)

2 ـ إسم الموضف (Emp_name)

وعندي على الفورم :

1 ـ Textbox1 لإدخال رقم الموظف

2 ـ Command1 للبحث عن رقم الموظف وعرض الإسم في حالة وجوده في الـ textbox2

وفي حالة أن الرقم غير موجود يتم عرض رسالة بأن الرقم ليس موجوداً .

وشكـــــــــــراً

#2

hi

the pest way is Select statment from data base

with where cluse on the employeeId is equal to the entered number by the user

like

select * from employee where EmployeeId='textbox.texy'

if the the Query return value then record found else record not found

#3

شكراً ... علي الرد .... ممكن توضح الخطوات بأكثر تفصيل حسب المثال الذي أشرت له في سؤالي ....

تحياتي .....

#4

هذا هو الكود

dim sql1 as string = "select emp_name from employees

where emp_name like ' " & textbox1.text & " ' "

dim command1 as sqlclient.sqlcommand(sql1,connection_name)

try

connection_name.open

textbox2.text =command1.executescallar()

connection_name.close

Catch ex As SqlClient.SqlException

MsgBox("الاسم غير موجود", MsgBoxStyle.OKOnly, "خطأ")

End Try

تم تعديل هذه المشاركة بواسطة غسان.ع في 24 مايو 2006 في 18:12

#5

الأخ / غسان ... شكراً لمرورك وتكرمك بالإجابة ..... فعلاً طريقة رائعة .....

في المثال أنت قمت بالبحث عن اسم الموظف في الجدول (أي قيمة حرفية ـــ string) .... ولكن هل يمكن مثال أو نفس المثال مع الإخذ في الإعتبار البحث عن قيمة رقمية داخل الجدول مثلاً رقم الموظف) ...

#6

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

dim sql as string = "select * from employees 
where emp_no = " & textbox1.tex.trim

كل الحكايه ان فى حالة الإستعلام عن string يجب وضع المراد الإستعلام عنه بين single qutation

أما الأرقام فلا

-waf

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

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

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

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

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

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

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

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

#7

وللتعقيب على كلام انجي بعد اذنها طبعا

يمكن استخدام like

للارقام والحروف

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

الاعضاء الكرام طبعا حميع الاجابات السابقة صحيحة و لكن نفترض ان البيانات و الجداول موجودة فى ال dataset لماذا نقوم بالاستعلام عنها مرة اخرة

لذلك اوضح لكم طريقة البحث فى الdataset

Dim con As New SqlConnection("Initial Catalog=Northwind;Integrated Security=True")
		Dim dv As DataView
		Dim da As New SqlDataAdapter("select * from customers", con)
		Dim ds As New DataSet
		da.Fill(ds, "customers")
		dv = ds.Tables("Customers").DefaultView
		dv.RowFilter = "customerid like 'alf%'"
		DataGridView1.DataSource = dv

فى هذا المثال قمنا بالبحث فى ال dataset فى جدول customers عن ال عميل الذى يكون ال id الخاص به يبدأ ب alf

#9

شكراً لكم جميعاً لمروركم وتجاوبكم ............... بالنسبة للأخ / m_3ryan إجابتك ممتازة وقد جربتها وفعلاً مختصرة جداً .... ولكن نتيجتها عبارة عن سجل كامل (أي أنها تعرض الصف كله من الجدول) ..... سؤالي كيف أستطيع الوصول لأحد الحقوق في هذا الصف وعرضه في textbox مثلاً ، في مثالك كيف يمكنني عرض الحقل CompanyName فقط ... وليس السجل كله ..

مع ألف ألف شكر للجميع ..... والله عاجز عن التعبير للتجاوب الجميل

#10

أخى العزيز بالنسبة لعملية البحث قد لا ترجع بيانات و هذه الحالة بسيطة لن توجد بيانات فى الcontrols ولكن فى حالة ان يكون النتيجة اكثر من صف فى هذه الحالة سوف تتعامل مع ال index الخاص بالعنصر يعنى الاول لازم تكون عارف عدد البيانت اللى رجعت من ال databaseثم تتعامل مع عنصر تلو الاخر

و اليك الكود م لنفرض ان لديك 2 textbox تريد عرض البيانات بهم

الاول txtid وتريد عرض ال id الخاص بالعميل الذى الذى تريد عرض بياناته

الثانى txtname و تريد عرض ال company name

  If dv.Count > 0 Then
			MsgBox(dv.Count)
			txtid.Text = dv.Item(0)("Customerid")
			txtname.Text = dv.Item(0)("Companyname")
		Else
			MsgBox("there are no items in Search")
		End If
	End Sub

حيث dv و عبارة عن dataview

item(0) يمثل اول عنصر فى نتيجة البحث و يمكنك التنقل بين نتيجة البحث بعمل متغير و تضعه مكان ال 0

تم تعديل هذه المشاركة بواسطة m_3ryan في 25 مايو 2006 في 10:45

#11

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

الأخ الكريم / m_3ryan ، إجابتك وافية كافية واضحة منظمة ...... وتمت تجربتها ... وأعطت النتيجة المرجوة ....

زادك الله من علمه .....

#12

شكرا لك اخى romantic على ردك فأن استفيد منك كثير

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

اسفة على التأخير فى الرد

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

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

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

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

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

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

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

#13

موضوع جميل والاجمل تعدد الحلول المطروحه

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

#14

ومشاركة بسيطة مني إليكم هذا المثال في هذا الرابط:-

/index.php?showtopic=97712

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

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