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

مشكلة ال Like مع ال Copy و ال Paste

بدأه MohamedAliSalim في 27 سبتمبر 2009 · 8 رد · 771 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قابلتني مشكلة لم استطيع حلها ولم اجد احد يتحدث عنها

دلوقتي انا عامل في حدث التغيير بتاع المربع النصي كود فلترة الــ DataTable عن طريق Like وفي نهاية الكلمة علامة الــ % او الــ * حتى اظهر كل العناصر التي تبدأ فقط بالأحرف التي كتبها المستخدم

هكذا

"ItemName Like 'Moha%' "

وتعمل 100%

اما في حالة اخذ هذه الكلمة نسخ من مكان ما ثم عمل على هذا المربع النصي لصق

يظهر هذا الخطأ

Error in Like operator : the string pattern 'Moha%' is invalid

لاحظ في رسالة الخطأ يظهر علامة الــ %

فلماذا يحدث هذا وما الحل

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#2

ما هو ال Provider الذي تستخدمه للاتصال مع قاعدة البيانات OLE Provider أم SQL Provider ..؟! و ما هو DBMS الذي تستخدمه, هل تستخدم الجملة السابقة في التابع Find؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

انا لم اتعامل مع الداتا بيز مباشرة

انا اتعاملت مع الداتا بيز بطريقة عادية خالص

واحضرت من الداتا بيز DataTable من DataSet

وخليتها عندي في الميموري

وبتعامل مع الــ DataTable ده مباشرة من الميموري ولا داعي لإجراء اتصال او استدعاء بروسيديور معين

يعني انا ببعت جملة الــ Like للــ DataTable اللي عندي في الذاكرة

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#4
اقتباس
يعني انا ببعت جملة الــ Like للــ DataTable اللي عندي في الذاكرة

كيف تبعث جملة ال Like إلى ال Datatable باستخدام ماذا؟! هل تقوم باستخدام التابع Find؟!

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#5

ببعتها هاكذا

myDataTable.Select ("ItemName Like 'Moha%' ")

طبعا بترجع DataRow()

وباخد الــDataRow()

وبحولها الى DataTable

وبعد كدة بعمل الــ DataSource بتاع الجردة = الــ DataTable الجديدة

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#6
اقتباس
اما في حالة اخذ هذه الكلمة نسخ من مكان ما ثم عمل على هذا المربع النصي لصق

يظهر هذا الخطأ

Error in Like operator : the string pattern 'Moha%' is invalid

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

هل هو مثل هذا

myDataTable.Select ("ItemName Like'"& textbox1.text & "%'")

أو غير ذلك حتى نعرف المشكلة لأن المشكلة يمكن تكون من نفس كود الفلترة

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

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

#7

تمام اخ ابو عزام

هو ده الكود

myDataTable.Select ("ItemName Like'"& textbox1.text & "%'")

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

اما في حالة لصق الكلمة في المربع النصي يظهر الخطأ

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#8

MohamedAliSalim ضع ما لديك كاملاً لماذا تحجب عنا التفاصيل, ما هو الحدث الذي تستخدمه TextChanged؟ ضع الكود كاملاً حتى يتسنى لنا تطبيقه, فليس هناك مشكلة سواء كانت نسخ ولصق او كانت كتابة من قبل المستخدم!! ففي حال كانت نسخ لصق سوف ينطلق الحدث TextChanged مرة واحدة اما في حال كتابة الكلمة من قبل المستخدم عن طريق الكيبورد سوف ينطلق بعدد الاحرف المكتوبة...

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#9

أخ وائل

انا لم احجب شيئ عنكم

كما كتبت الكود

myDataTable.Select ("ItemName Like'"& textbox1.text & "%'")

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

والحمد لله وجد الحل وهو تبديل الــ% بــ "[%]" من التيكست بوكس

myDataTable.Select ("ItemName Like'"& textbox1.text.Replace("%","[%]") & "%'")

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

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