PDA

View Full Version : مشکل در ثبت عدد به صورت فارسی در دیتابیس



roxf18
جمعه 29 دی 1391, 21:43 عصر
با سلام من فیلد دیتا بیس رو از نوع nvarchar تعریف کردم زمانی که در تکس باکس رو فرم عددم رو وارد میکنم تو تکس باکس فارسی مینویسه ولی وقتی تو دیتا بیس ثبت میشه و اونو از دیتا بیس میخونم تا چاپش کنم بصورت انگلیسی لود میشه ایا باید کلا باکد زبان سیستم را تغییر بدم یا تو خود ویژوال راهی هست که درستش کرد با تشکر

danialafshari
جمعه 29 دی 1391, 22:18 عصر
سلام

کاشکی اول جستجو می کردید
اول اینکه : در تاپیکی خوندم که موقع ذخيره و بازيابي از كاراكتر N قبل از نام متغير استفاده كنيد.
دوم اینکه: اگر حل تشد به همون طریق ذخیره کنید بعد موقع فراخوانی درست می شود به هرحال قرار نیست کاربر با دیتابیس کار کنه بلکه با برنامه شما کار می کنه

موفق باشید

mousa1992
جمعه 29 دی 1391, 22:25 عصر
زمان گزارش گیری فونت های فارسی انتخاب کنین مشکلتون حل میشه برای مثال b nazanin
موفق باشی

mze666
شنبه 30 دی 1391, 07:34 صبح
یک راهش فکر میکنم همینطور که دوستمون گفتن تغییر فونت به یک فونت فارسی هستش. ولی یک راه دیگه هم استفاده از کتابخانه Persia هستش که هم برای تبدیل تاریخ به کار میره و هم برای تبدیل اعداد به فارسی. اینم لینک کتابخانه Persia (http://www.persiadevelopers.com/articles/Persia.NET.aspx)

the king
شنبه 30 دی 1391, 15:23 عصر
با سلام من فیلد دیتا بیس رو از نوع nvarchar تعریف کردم زمانی که در تکس باکس رو فرم عددم رو وارد میکنم تو تکس باکس فارسی مینویسه ولی وقتی تو دیتا بیس ثبت میشه و اونو از دیتا بیس میخونم تا چاپش کنم بصورت انگلیسی لود میشه ایا باید کلا باکد زبان سیستم را تغییر بدم یا تو خود ویژوال راهی هست که درستش کرد با تشکر

موقع نمایش بصورت یک String نمایش اش دهید و بجای ToString از این ToPersianString استفاده کنید :

public string ToPersianString(object value)
{
char[] text = value.ToString().ToCharArray();
for (int i = 0; i < text.Length; i++)
if ((text[i] >= '0') && (text[i] <= '9'))
text[i] += (char)0x6C0;
return new string(text);
}