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

استفسار البحث في جدول وعرض النتائج في جريد فيو

بدأه فيجولي في 9 نوفمبر 2013 · 1 رد · 477 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

 

لدي جدول يحتوي على البيانات التالية :

 

EmpID= bigint= Allow Nulls false

EmpName = nvarchar(50)

EmpAge = int

EmpNationality = Nvarchar(50)

EmpDepart= Nvarchar(50)

 

أرغب بعمل بحث في قاعدة البيانات ، قمت بكتابة الكود التالي :

select * from Emps where EmpName like '%'+@EmpName+'%' or EmpAge like '%'+@EmpAge+'%' Or EmpNationality like '%'+@EmpNationality+'%' or EmpDepart like '%'+@EmpDepart+'%'



 cmd.Parameters.AddWithValue("@EmpName", txtEmpName.Text)
                    cmd.Parameters.AddWithValue("@EmpAge", TxtEmpAge.Text)
                    cmd.Parameters.AddWithValue("@EmpNationality", TxtEmpNationality.Text)
                    cmd.Parameters.AddWithValue("@EmpDepart", TxtEmpDepart.Text)
                    cmd.Connection = cn

ثم وضعت البيانات في Datatable  من خلال DataAdapter وجعلتها مصدر بيانات الجريد فيو

gridview1.datasource = dtgridview1.databind()

وعندما أقوم بالضغط على زر البحث يقوم بجلب كافة السجلات في الجدول حتى وإن لم يتم إزسال أي قيمة للباراميتر !!!!!

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

ولو قمت بتعبئة كافة الباراميترات فالنتيجة أيضاً لا تتغير .

 

بلا شك أن هناك مشكلة في كود الاستعلام ، آمل منكم المساعدة ، مع العلم أن الجدول كالتالي :

 

EmpID= bigint= Allow Nulls false

EmpName = nvarchar(50)=Allow Nulls true

 EmpAge = int = allow nulls true

EmpNationality = Nvarchar(50) = allow nulls true

EmpDepart= Nvarchar(50) = allow nulls true

 

شاكر ومقدر لكم

#2
فيجولي كتب:

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

 

 

لدي جدول يحتوي على البيانات التالية :

 

EmpID= bigint= Allow Nulls false

EmpName = nvarchar(50)

EmpAge = int

EmpNationality = Nvarchar(50)

EmpDepart= Nvarchar(50)

 

أرغب بعمل بحث في قاعدة البيانات ، قمت بكتابة الكود التالي :

select * from Emps where EmpName like '%'+@EmpName+'%' or EmpAge like '%'+@EmpAge+'%' Or EmpNationality like '%'+@EmpNationality+'%' or EmpDepart like '%'+@EmpDepart+'%'



 cmd.Parameters.AddWithValue("@EmpName", txtEmpName.Text)
                    cmd.Parameters.AddWithValue("@EmpAge", TxtEmpAge.Text)
                    cmd.Parameters.AddWithValue("@EmpNationality", TxtEmpNationality.Text)
                    cmd.Parameters.AddWithValue("@EmpDepart", TxtEmpDepart.Text)
                    cmd.Connection = cn

ثم وضعت البيانات في Datatable  من خلال DataAdapter وجعلتها مصدر بيانات الجريد فيو

gridview1.datasource = dtgridview1.databind()

وعندما أقوم بالضغط على زر البحث يقوم بجلب كافة السجلات في الجدول حتى وإن لم يتم إزسال أي قيمة للباراميتر !!!!!

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

ولو قمت بتعبئة كافة الباراميترات فالنتيجة أيضاً لا تتغير .

 

بلا شك أن هناك مشكلة في كود الاستعلام ، آمل منكم المساعدة ، مع العلم أن الجدول كالتالي :

 

EmpID= bigint= Allow Nulls false

EmpName = nvarchar(50)=Allow Nulls true

 EmpAge = int = allow nulls true

EmpNationality = Nvarchar(50) = allow nulls true

EmpDepart= Nvarchar(50) = allow nulls true

 

شاكر ومقدر لكم

 

 

 

السلام عليكم >>> وجدتها :)

 

المشكلة كانت بعدم فحص الباراميترات في حال كانت القيمة تساوي Null  ، قمت بكتابة الكود التالي وتم حل المشكلة :

 If Not [String].IsNullOrEmpty(TxtEmpName.Text) Then

                        cmd.Parameters("@EmpName").Value = TxtEmpName.Text
                    Else

                        cmd.Parameters("@EmpName").Value = DBNull.Value
                    End If

وتكرار الجملة على كافة متغيرات الاستعلام ۔

 

شكرا لكم جميعاً .

تم تعديل هذه المشاركة بواسطة فيجولي في 9 نوفمبر 2013 في 04:15

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

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

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

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

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