تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] بحث بالمعامل like
#1
السلام عليكم 

الاستعلام التالي يعمل جيداً اذا كانت الكلمات التي ابحث عنها باللغة الانجليزية Big Grin 
ولا يعمل اذا كانت باللغة العربية فما السبب في ذلك ؟
Huh Huh Huh

كود :
   Public Function search_by_culumn(tablename As String, culumn As String, value As String)
       connect()
       Dim dt As New DataTable
       Dim da As New SqlDataAdapter("select * from " + tablename + " Where " + culumn + " like '%" & value & "%'", con)
       da.Fill(dt)
       Return dt
   End Function
تعديل 
بيئة العمل فيجوال ستوديو 2019
قاعدة البيانات sql server localdb
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته


كل ما عليك التاكد من المحتوى
داخل الجدول بقاعدة البيانات

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: wared , samehalgndi
#3
شكراً لك اخى الجوكر
تأكدت الفعل من محتوى الجدول
على سبيل المثال
قاعدة البيانات بها اسم سامح أول ما اكتب حرف ال س
الاقي البيانات كلها اختفت من ال datagridview
الرد }}}
تم الشكر بواسطة: wared
#4
من الواضح ان لغة قاعدة البيانات غير مهيئة للغة العربية
وانت قمت بادخال البيانات يدوياً الى قاعدة البيانات

ومن ثم تقوم بتجربة البحث
اذا كان كلامى صح فهنا تقع المشكلة حيث
الاحرف قد تظهر معك باللغة العربية فى قاعدة البيانات
ولكن من حيث الكود والبرمجة تراها كرموز

فيجب عليك اتمام عمل اضافة بيانات من خلال البرمجة
وما قمت باضافته تقوم بعمل عليه البحث

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

واتمنى توضح الكود الموجود لهذا الامر
كود :
connect()

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: wared , samehalgndi
#5
شكراً لك مرة اخرى اخى واستاذى الكريم
جربت الاستعلام داخل قاعدة البيانات بالطريقة التالية ولم يفلح مع اللغة العربية ايضاً
كود :
select * from t1 Where p_name like '%س%'
'بالنسبة لاعداد قاعدة البيانات للتوافق مع العربية فأنا لا اعرفها وانا اعمل من خلال بيئة فيجوال استوديو نفسها 
ملاحظة : الحروف العربية تظهر واضحة داخل قاعدة البيانات وايضاً عند عمل run 
أما عند كود connect فها هو 
كود :
Public con As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Db.mdf;Integrated Security=True;Connect Timeout=30")
   Public Sub connect()
       If con.State = ConnectionState.Closed = False Then con.Close()
       con.Open()
   End Sub

ملحوظة
كان نوع الحقل في الجدول  NVARCHAR
وعندما حولته الى  VARCHAR
ظهرت الحروف العربية كعلامات استفهام عند عمل run
الرد }}}
تم الشكر بواسطة: wared
#6
بخصوص كود الاستعلام اجعلها بهذا الشكل
كود :
select * from t1 Where p_name like N'%س%'

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

وعدل على هذا الجزء من الكود
كود :
like '%" & value & "%'", con)

لتجعله بهذا الشكل
كود :
like N'%" & value & "%'", con)

وطبعاً اجعل الامر على NVARCHAR

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: سعود , samehalgndi
#7
شكراً اخي الكريم لقد نجح الأمر
الرد }}}
تم الشكر بواسطة: elgokr , elgokr
#8
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


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


التنقل السريع :


يقوم بقرائة الموضوع: