PDA

View Full Version : به هم ریختگی فونت هنگام فرستادن اطلاعات از سی شارپ به sql2005



blackrose1
یک شنبه 07 تیر 1388, 21:26 عصر
یه مشکل کوچیک توی برنامه من پیش اومده وقتی اطلاعات رو از ویندوز اپلیکیشن به پایگاه داده میفرستم فونت به هم میریزه و جای همه حروف علامت سوال میاد( البته منظورم کلمات فارسی هستش) من قبلا با sql2000 کار میکردم و همین برنامه با اون نسخه درست کار میکرد و هیچ مشکلی نداشت اما به دلایلی مجبور شدم نسخه اس کیو ال رو عوض کنم که این به هم ریختگی پیش اومد

Reza_Yarahmadi
یک شنبه 07 تیر 1388, 22:00 عصر
اگه توی برنامه از پارامتر برای فرستادن اطلاعات به بانک استفاده کنید و فیلدهای توی بانک رو از نوع nvarchar بذارید احتمالا مشکلتون حل میشه.

daneshjoo2
یک شنبه 07 تیر 1388, 22:03 عصر
اگه توی برنامه از پارامتر برای فرستادن اطلاعات به بانک استفاده کنید و فیلدهای توی بانک رو از نوع nvarchar بذارید احتمالا مشکلتون حل میشه.
راه دیگشم اینه که اول رشته حاوی مقادیر و قبل از کوتیشن از N استفاده کنید.

blackrose1
یک شنبه 07 تیر 1388, 22:39 عصر
nvarchar هستش توی اس کیو ال . اطلاعات رو اینطوری میفرستم. قبلا توی sql2000 مشکلی نداشت دقیقا همین برنامه . الان فقط پایگاه داده رو عوض کردم تازه با همون مشخصات پایگاه قبلی فقط توی 2005


SqlConnection con = new SqlConnection(strcon);
SqlCommand com = new SqlCommand();

com.CommandText = "insert into [tb]([nam],[code ) values ('" + textBox1.Text + "','" + textBox2.Text + "')";
com.Connection = con;
SqlDataAdapter adapt = new SqlDataAdapter(com);
DataTable dt = new DataTable();
adapt.Fill(dt);
com.CommandText = "select code as 'کد ' , nam as 'نام ' from tb";
adapt.Fill(dt);
dataGridView1.DataSource = dt;

الان کجا باید n اضافه کنم؟

alireza_tavakol
یک شنبه 07 تیر 1388, 23:07 عصر
دستور Insert رو این طوری اصلاح کن ببین درست میشه

com.CommandText = "insert into [tb](nam,code ) values (N'" + textBox1.Text + "',N'" + textBox2.Text + "')";

blackrose1
یک شنبه 07 تیر 1388, 23:07 عصر
خیلی متشکر بله حل شد

blackrose1
یک شنبه 07 تیر 1388, 23:31 عصر
مشکل من حل شد واسه بقیه هم که ممکنه اشتباه مشابه بکنن مینویسم
مشکل من این بود که n کوچیک مینوشتم در صورتی که باید Nبزرگ مینوشتم

newgoldenman
دوشنبه 08 تیر 1388, 12:54 عصر
سلام.
این مشكل نیست!

وقتی كه از داخل خود SqlServer متون فارسی رو میبینیم، حالا چه 2000 باشه یا 2005 ، همه چیز رو قاطی پاطی میبینیم!!!
مهم بازیابی اطلاعات هست كه هیچ مشكلی نداره SqlServer با این موضوع.

شما كه میگی مشكل داره برای نمایش، درسته حرفتون، ولی توی خود SqlServer . وگرنه شما همون متن مشكل دار رو بیاری توی برنامه ات، دقیقاً همونی هست كه از اول بوده...

یا علی مدد

mbshmbsh
یک شنبه 04 مرداد 1388, 14:21 عصر
سلام دوستان
ما دو نفري داريم رو يه پروژه كار مي كنيم. وقتي يكيمون رو كامپيوتر خودش برنامه رو مي نويسه و بعد مياره رو كامپيوتر اون يكي اگه مثلا تو if از كلمه فارسي استفاده كرديم اصلا وارد اون ايف نمي شه و در نتيجه برنامه خوب كار نمي كنه. مشكل از كجاست؟

hozouri
یک شنبه 04 مرداد 1388, 15:16 عصر
شما كه میگی مشكل داره برای نمایش، درسته حرفتون، ولی توی خود SqlServer . وگرنه شما همون متن مشكل دار رو بیاری توی برنامه ات، دقیقاً همونی هست كه از اول بوده...

یا علی مدد

نه دوست عزیز وقتی که اطلاعاتی رو به sql بفرستیم اگر اون ها ? ثبت بشن دیگه قابل بازیابی نیست ...

ولی اگر قبلاً درست ثبت شده باشند ولی الان ؟ باشن این قابل بازگشت هست ولی اگر روش update بشه و به صورت ؟ ذخیره بشه دیگه قابل برگشت نیست.