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

مشكلة في جملة الاستعلام like

بدأه هــــ برمجة ــــاوي في 2 يوليو 2010 · 5 رد · 2,281 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

كتبت الاستعلام التالي:

select * from Employee where EmpName Like @e

حيث e@ بارامتر يتم تعيين قيمته من مربع نص.

المشكلة أنه لو كتبت في مربع النص كلمة موجودة في جدول Employee يتم ارجاع نتائج أما اذا كتبت كلمة مشابهة فان عدد السجلات المرجعة صفر.

وحسب ما أعرف أن الجملة Like ترجع الكلمات المشابهة لكلمة البحث.

فأرجوا منكم المساعدة. :rolleyes:

=================================================================

[وسط]فَإِذَا عَزَمتَ فَتَوَكَّل عَلَى اللَّهِ إِنَّ اللَّهَ يُحِبُّ المُتَوَكِّلِينَ

=================================================================[/وسط]

#2

يمكنك وضع

Like '%احمد'

و دي للكلمات التى تبداء ب أحمد

like 'أحمد%'

و دي للكلمات التى تنتهى بكلمة أحمد

like '%أحمد%'

و دي للكمات التى توجد فى منتصفها كلمة أحمد

like '[أحمد]'

و دي للجمل التى يوجد بها حروف أ - ح - م - د

توجد أشياء كثيرة و يمكنك البحث عنها

بالتوفيق

#3

مع الأسف ما ضبط معي، يعطيني رسالة خطأ.

هذا الكود اللي استخدمته

Dim StrSql As String = "select * from Emoloyee where EmpName Like *@e*"
        Dim DAdapter As New OleDb.OleDbDataAdapter(SearchSQL, Cn)
        DAdapter.SelectCommand.Parameters.AddWithValue("@e", txtSearchWord.Text)
        Dim dt As New DataTable
        DAdapter.Fill(dt)

يظهر لي رسالة الخطأ التالية:

اقتباس
خطأ في بناء الجملة (عامل مفقود) في تعبير استعلام 'EmpName Like @e'.

=================================================================

[وسط]فَإِذَا عَزَمتَ فَتَوَكَّل عَلَى اللَّهِ إِنَّ اللَّهَ يُحِبُّ المُتَوَكِّلِينَ

=================================================================[/وسط]

#4

انا لا أرى جملة الDecleration للمتغير e

Declare @e as nvarchar (50) Set @e = '%أحمد'

ثم

Dim StrSql As String = "select * from Emoloyee where EmpName Like @e"

و اعتقد هذا يمكن ان يكون الكود النهائي

Dim StrSql As String = "Declare @e as nvarchar (50) Set @e = '" & txtSearchWord.Text & "' " & _
                            	"select * from Emoloyee where EmpName Like @e"
    	Dim DAdapter As New OleDb.OleDbDataAdapter(SearchSQL, Cn)
    	Dim dt As New DataTable
    	DAdapter.Fill(dt)
#5

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

=================================================================

[وسط]فَإِذَا عَزَمتَ فَتَوَكَّل عَلَى اللَّهِ إِنَّ اللَّهَ يُحِبُّ المُتَوَكِّلِينَ

=================================================================[/وسط]

#6
mosa_hhh كتب:

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

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

كتبت الاستعلام التالي:

 

 


		

 

حيث e@ بارامتر يتم تعيين قيمته من مربع نص.

المشكلة أنه لو كتبت في مربع النص كلمة موجودة في جدول Employee يتم ارجاع نتائج أما اذا كتبت كلمة مشابهة فان عدد السجلات المرجعة صفر.

وحسب ما أعرف أن الجملة Like ترجع الكلمات المشابهة لكلمة البحث.

فأرجوا منكم المساعدة. :rolleyes:

تم تعديل هذه المشاركة بواسطة othman111 في 4 أبريل 2017 في 17:29

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