PDA

View Full Version : سوال: چرا BindingSource.Filter فقط داده های تایپ شده را تشخیص می دهد؟



mmbguide
چهارشنبه 13 اردیبهشت 1396, 00:55 صبح
سلام

من تو برنام باید جدول اطلاعات اکسل رو که از یک برنامه دیگه خروجی گرفته شده را به برنامه خودم وارد کنم. این کار انجام شده و اطلاعات به درستی در بانک اطلاعاتی من ذخیره میشه. حالا وقتی اطلاعات را در یک BindingSource ذخیره میکنم و میخوام از متد Filter استفاده کنم کاراکترها رو نمیشناسه. مثلا نام "سیدمیثم" رو پیدا نمیکنه ولی اگر بانک اطلاعاتی رو باز کنم و خودم این نام رو مجددا دستی تایپ کنم براحتی در اجرای فیلتر تشخیص داده میشه. نمیدونم علت چیه. آیا باید در زمان خواندن اطلاعات از فایل اکسل و قبل از ذخیره در بانک اطلاعاتی خودم تبدیلات خاصی انجام بدم؟

تشکر

danialafshari
چهارشنبه 13 اردیبهشت 1396, 23:25 عصر
سلام

من تو برنام باید جدول اطلاعات اکسل رو که از یک برنامه دیگه خروجی گرفته شده را به برنامه خودم وارد کنم. این کار انجام شده و اطلاعات به درستی در بانک اطلاعاتی من ذخیره میشه. حالا وقتی اطلاعات را در یک BindingSource ذخیره میکنم و میخوام از متد Filter استفاده کنم کاراکترها رو نمیشناسه. مثلا نام "سیدمیثم" رو پیدا نمیکنه ولی اگر بانک اطلاعاتی رو باز کنم و خودم این نام رو مجددا دستی تایپ کنم براحتی در اجرای فیلتر تشخیص داده میشه. نمیدونم علت چیه. آیا باید در زمان خواندن اطلاعات از فایل اکسل و قبل از ذخیره در بانک اطلاعاتی خودم تبدیلات خاصی انجام بدم؟

تشکر

با سلام
من همیشه با bindingSource.Filter کار می کنم و مشکلی نداشتم
فکر می کنم بخاطر حرف ی ای هست که در کلمه سیدمیثم بکار رفته و ممکنه unicode نباشد

بهتره برای تست بصورت دستی یک کلمه را وارد و همون کلمه رو در برنامه جستجو کنید
یا کلمه را در notepad وارد کرده و با استاندارد utf-8 ذخیره کنید

هر دو رو تست کنید
موفق باشید

mmbguide
پنج شنبه 14 اردیبهشت 1396, 00:20 صبح
درست میفرمایید. زمانی که اسم رو خودم دستی تو جدول بانک اطلاعاتی تایپ میکنم مشکلی نداره و مشکل من اینه که در زمان انتقال اطلاعات از اکسل به بانک چطور متنها رو Unicode کنم

danialafshari
جمعه 15 اردیبهشت 1396, 23:19 عصر
درست میفرمایید. زمانی که اسم رو خودم دستی تو جدول بانک اطلاعاتی تایپ میکنم مشکلی نداره و مشکل من اینه که در زمان انتقال اطلاعات از اکسل به بانک چطور متنها رو Unicode کنم
با سلام
مشکل از فایلتون هست که یونیکد نیست. فکر کنم این ترفند مشکلتون رو حل کنه :
https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16

اگر هم نکرد می تونید از (ctrl + H) حرف مورد نظر را با درستش جاگیزین(Replace) کنید

موفق باشید.

Mahmoud.Afrad
شنبه 16 اردیبهشت 1396, 00:38 صبح
موقع درج اطلاعات در دیتابیس کاراکتر های 'ي' و 'ك' عربی را به معادل فارسی تبدیل کرده و سپس ذخیره کنید. در کوئری های جستجو هم باید همین عمل قبل از جستجو انجام بشه.
برای کمک بیشتر کد یا پروژه قرار بدید.