منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طلب بحث باي جزء من الكلمة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
لو stored procedure ب تدعم استخدام Contains بدلا من Like ........اعتقد أن هذا هو الحل
الحل الاخر انك تأخذ البيانات التي تبحث فيها و لنفترض انه احد العمدة ثم تضعها في Collection أو Array و هنا سيصبح التعامل معها اسهل لك و يمكن ان تبحث باي اسلوب يلائمك

للأسف انا لست خبيرا ب الداتا بيز لكن حاول استخدام جملة البحث بهذا الشكل

كود :
"SELECT * FROM cities WHERE name LIKE '%الكلمة التي تبحث عنها ضعها هنا%'"
(01-08-14, 02:35 AM)silverlight كتب : [ -> ]لو stored procedure ب تدعم استخدام Contains بدلا من Like ........اعتقد أن هذا هو الحل
الحل الاخر انك تأخذ البيانات التي تبحث فيها و لنفترض انه احد العمدة ثم تضعها في Collection أو Array و هنا سيصبح التعامل معها اسهل لك و يمكن ان تبحث باي اسلوب يلائمك

للأسف انا لست خبيرا ب الداتا بيز لكن حاول استخدام جملة البحث بهذا الشكل

كود :
"SELECT * FROM cities WHERE name LIKE '%الكلمة التي تبحث عنها ضعها هنا%'"

شكرا لك وجزاك الله خير لتفاعلكم
لكن للأسف الكود

كود :
"SELECT * FROM cities WHERE name LIKE '%الكلمة التي تبحث عنها ضعها هنا%'"

لم ينفع رغم كتابتي له باكثر من طريقة

المشكلة ان الكود لا يكتب في محرر الكود في الفيجوال

بل في محرر الاستعلام عن اضافته كما في الصورة

أنت تستخدم Tableadapter Query Configuration Wizard و علي ما اعتقد طريقة البحث هنا سوف تختلف قليلا

كود :
SELECT * FROM cities WHERE name LIKE 'الاسم الذي تبحث عنه;' + @name + '%'

لست متأكدا تماما هل كلمة @name يجب أن تكتب بين قوسين هكذا [@name ] ام لا ..أيضا يجب أن تكون دقيقا ف استخدام comma أو الفاصلة

أنا اللي اعرفه انه و في حالة استخدام Adapter أنك عندما تمرر اسم العمود الذي تبحث فيه فقط فهنا يحدث overloading و بالتالي Adapter لا يعرف عن ماذا يبحث تحديدا و هذا هو الخطا ف الكود الأصلي الخاص بك ......لذلك يجب عليك تمرير اسم العمود و الكلمة التي تبحث عنها معا حتي يستطيع ان يجد كلمة البحث
أتمني انه يكون هذا هو الحل إن شاء الله
(01-08-14, 04:30 AM)silverlight كتب : [ -> ]أنت تستخدم Tableadapter Query Configuration Wizard و علي ما اعتقد طريقة البحث هنا سوف تختلف قليلا

كود :
SELECT * FROM cities WHERE name LIKE 'الاسم الذي تبحث عنه;' + @name + '%'

لست متأكدا تماما هل كلمة @name يجب أن تكتب بين قوسين هكذا [@name ] ام لا ..أيضا يجب أن تكون دقيقا ف استخدام comma أو الفاصلة

أنا اللي اعرفه انه و في حالة استخدام Adapter أنك عندما تمرر اسم العمود الذي تبحث فيه فقط فهنا يحدث overloading و بالتالي Adapter لا يعرف عن ماذا يبحث تحديدا و هذا هو الخطا ف الكود الأصلي الخاص بك ......لذلك يجب عليك تمرير اسم العمود و الكلمة التي تبحث عنها معا حتي يستطيع ان يجد كلمة البحث
أتمني انه يكون هذا هو الحل إن شاء الله

مع جزيل الشكر و اسف تعبناك معانا لكن
للاسف لم تنجح العملية مع العلم أن هذا الكود ناجح جدا في عرض نتائج البحث و لكن بحث مطابق بكامل الكلمة
هذا الكود ناجح هل ممكن تعدل عليه
كود :
SELECT        Workers.*
FROM            Workers
WHERE  (f1=?)

علما ان Workers هو اسم الجدول
f1 هو الحقل الاول المراد البحث فيه باي جزء من الكلمة
وليس بحث مطابق بكامل الكلمة
معقولة ما فيه ولا مثال واحد
لتقارير مايكروسفت مع طباعة نتائج الاستعلام فقط
كما فهمت من القراءة ف موضوعات مشابهة لموضوعك ع النت لنفترض انك تريد ان تبحث عن اسم باستخدام جزء من الاسم إذن عليك ان تستخدم شيئا مقاربا للكود التالي

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


[/code]
SELECT OrderID, OrderName

FROM [Order]

WHERE (OrderName LIKE '%' + ? + '%')
[/code]
(02-08-14, 03:26 AM)silverlight كتب : [ -> ]كما فهمت من القراءة ف موضوعات مشابهة لموضوعك ع النت لنفترض انك تريد ان تبحث عن اسم باستخدام جزء من الاسم إذن عليك ان تستخدم شيئا مقاربا للكود التالي

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


[code]
SELECT OrderID, OrderName

FROM [Order]

WHERE (OrderName LIKE '%' + ? + '%')
[code]

هووووو دااااا اللى ادور عليه الف مليار شكر

code]
SELECT OrderID, OrderName

FROM [Order]

WHERE (OrderName LIKE '%' + ? + '%')
[code]
(02-08-14, 05:48 AM)المهنا كتب : [ -> ]
(02-08-14, 03:26 AM)silverlight كتب : [ -> ]كما فهمت من القراءة ف موضوعات مشابهة لموضوعك ع النت لنفترض انك تريد ان تبحث عن اسم باستخدام جزء من الاسم إذن عليك ان تستخدم شيئا مقاربا للكود التالي

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


[code]
SELECT        OrderID, OrderName

FROM            [Order]

WHERE        (OrderName LIKE '%' + ? + '%')
[code]

هووووو دااااا اللى ادور عليه الف مليار شكر

code]
SELECT OrderID, OrderName

FROM [Order]

WHERE (OrderName LIKE '%' + ? + '%')
[code]






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


SELECT        PID, PName, PFileNo, PDept, PNote

FROM            dbo.Personltbl
WHERE        (PName LIKE '%' + @Param1 + '%')

وتكون الكتابة بين حرف واخر يعني جزء من الكلمة الاولى  وعلامة  %  وجزء من الكلمة الثانية 

في حالة طلب استخدام  هذة العلامة   *    بدلا من ال %  كيف يكون  الكود 
 وشكرا  وارجو المساعدة
الصفحات : 1 2