PDA

View Full Version : مشکل با پر شدن datagridview در جست و جو



m0rteza
دوشنبه 09 مهر 1386, 13:25 عصر
سلام
من دارم در یک table جستو جو میکنم . از هیچ دستور هم error یا warning نمی گیره
من نتیجه رو در یک dataset جدید می زارم و بعد این dataset رو در datasource مربوط به datagrid قرار میدم ولی نتبجه ای در datagridviewنمایش داده نمیشه؟

babak23
دوشنبه 09 مهر 1386, 13:35 عصر
در صورت امکان کد برنامه را تو سایت بزار اینجوری راحتر میشه به نتیجه رسید

hassan razavi
دوشنبه 09 مهر 1386, 14:34 عصر
احتمالا شرط موجود در SQL مشکل داره و هیچ رکوردی را برنمی گردانه. ولی کدتون را بزارید تا بررسی کنیم

m0rteza
دوشنبه 09 مهر 1386, 15:51 عصر
مشکل رو پیدا کردم ولی نمی تونم حلش کنم .
مشکل مربوط میشه به پایگاه داده. اصلا وقتی همین دستورات رو توی خود sqlاجرا میکنم باز errorنمی ده و چیزی پیدا نمیکنه و مشکل زمانی پیش میاد که بخوام دنبال فیلد هایی بگردم که محوای اونا حروف فارسی هست و همین دستورات sql با فیلد های لاتین و عدد مشکل نداره . حالا نمی دونم چرا دوکلمه فارسی کاملا شبیه به هم رو تشخیض نمیده که شبیه اند.
ممنون

hdv212
دوشنبه 09 مهر 1386, 20:22 عصر
سوال شما دوپهلو شد، یعنی اینکه آیا نتیجه ای داره و دیتاگرید نشون نمیده یا اصلا نتیجه ای در بر نداره ؟
در مورد سوال اول اگر دیتاگرید چیزی نشون نمیده، شما باید datasource مربوط به دیتاگرید ویو رو اینطوری به دیتاست بایند کنید :

this.datagridView1.DataSource = ds.Tables[0].DefaultView;
ولی در مورد مشکل دوم که میگی با فارسی مشکل داری (البته اگه درست فهمیده باشم)
در ویندوز های مختلف متاسفانه کلمات آ و ی مثل هم نیست و کدپیج های هرکدوم با هم فرق میکنه، مثلا وقتی در یه سیستمی نوشتی : "یک" و اونو در دیتابیس ذخیره کردی و از سیستم دیگه با یه سیستم عامل دیگه به دیتابیس وصل میشی و کلمه ی "یک" رو جستجو میکنی، تضمینی نیست که اون "یک" رو پیدا کنه چون حرف ی در ویندوزهای مختلف، کداسکی مختلفی داره، متاسفانه این مشکل خیلی بزرگیه ... و فعلا راه حلش اینه که سعی کنید از یه نوع ویندوز استفاده کنید و یا اینکه از یه dll ای استفاده کنید که کدپیج ویندوز رو Standard کنه. من قبلا این dll رو داشتم .. اگه تونستم پیدا کنم ... میذارم اینجا تا بقیه هم بردارن ... اما اگه مشکلت چیز دیگه ای هست .. بیشتر توضیح بده و حتی الامکان کدت رو هم بذار.

m0rteza
دوشنبه 09 مهر 1386, 21:28 عصر
دوست عزیز خیلی ممنون . دلیل دو پهلو شدن سوالم این بود که بعد از ایجاد تاپیک متوجه شدم که مشکلم به grid مربوط نمیشه بلکه sql نمی تونه کلمات فارسی شبیه به هم رو تشخیص بده با اینکه من تو همین ویندوز که دارم برنامه مینویسم قرار دارم.
فقط مطمئن هستم به برنامه مربوط نمیشه. خیلی ممنون که به پیام ها و سوالات توجه میکنید.

hassan razavi
دوشنبه 09 مهر 1386, 22:03 عصر
قبل از شرط از حرف N استفاده کنید ، بصورت زیر :


Where Field1= N'سلام'

hdv212
دوشنبه 09 مهر 1386, 22:25 عصر
من دقیقا سوالت رو متوحه نشدم، یعنی شما مثلا لغت "کیمیا" رو در دیتابیس وارد کری و وقتی همین کلمه رو ("کیمیا") جستجوی میکنی چیزی بر نمیگردونه ؟ در اینصورت مشکل میتونه از query باشه، اگه میشه کدت رو بذار اینجا تا ببینیم مشکل چیه.

hassan razavi
دوشنبه 09 مهر 1386, 22:56 عصر
لطفا سوال هاتون رو واضح بیان کنید یا کدتون یا رشته SQL را بزارید تا راحت بتونیم نظر بدیم و اگه بشه کمکتون کنیم