PDA

View Full Version : سوال: جدا کردن کاراکتر های "," و "/" در TextBox های پولی و تاریخ در هنگام ذخیره در بانک اطلاعاتی



black_mask
پنج شنبه 03 اسفند 1391, 12:42 عصر
با سلام.
1. برای نمایش تاریخ توی فرم از MaskedTextBox استفاده کردم. درهنگام ذخیره توی جدول ، تاریخ به همون شکل ذخیره نمی شه و یک عدد کوچیک می شه، فکر می کنم باید قبل از ذخیره توی جدولم، کاراکتر"/" از تاریخ حذف کنم. چطور می تونیم این کار را انجام بدم.(نوع داده ای تاریخ را توی جدول Nvarchar گرفتم)
2. توی تکس باکس پولی چون توسط کاراکتر "," بعد از هر 3 رقم جدا میشه هنگام ذخیره توی جدول ارور میده. فکر می کنم باید این کاراکتر ها را اول حذف کنم و بعد توی جدول ذخیره کنم و می دونم که از دستور Parse باید استفاده کنم و لی کد اونو بلد نیستم.
اینم کد تکس باکسمه:
if (Txt_Sum_Of_Factor.Text == "" ||Txt_Sum_Of_Factor.Text == "0") return

else
{
Decimal Price;
Price = Decimal.Parse(Txt_Sum_Of_Factor.Text, System.Globalization.NumberStyles.Currency);
Txt_Sum_Of_Factor.Text = Price.ToString("#,#");
Txt_Sum_Of_Factor.SelectionStart = Txt_Sum_Of_Factor.Text.Length;
}


دوستان اگه کسی می تونه کمکم کنه.

fakhravari
پنج شنبه 03 اسفند 1391, 14:29 عصر
http://barnamenevis.org/showthread.php?385438-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D8%AC%D9%85%D8%B9-%DA%86%D9%86%D8%AF%DB%8C%D9%86-%D8%B9%D8%AF%D8%AF

black_mask
پنج شنبه 03 اسفند 1391, 14:58 عصر
http://barnamenevis.org/showthread.php?385438-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D8%AC%D9%85%D8%B9-%DA%86%D9%86%D8%AF%DB%8C%D9%86-%D8%B9%D8%AF%D8%AF

برای تاریخ که از MaskedTextBox استفاده کردم، بکار بردم، ولی بازم ارور می ده.ممنون می شم کمک کنید.

Ghaem66
پنج شنبه 03 اسفند 1391, 15:03 عصر
واسه حذف کردن کراکتر , از تکست باکس میتونین از کد زیر استفاده کنین:


txt1.text.replace(",","")


اما سوال تاریخ رو متوجه نشدم مشکل کجاست! شما تاریخی که از تکست باکس میگیری و تو جدول ذخیره میکنی، به یه شکل دیگه نمایش میده؟؟؟

black_mask
پنج شنبه 03 اسفند 1391, 22:08 عصر
واسه حذف کردن کراکتر , از تکست باکس میتونین از کد زیر استفاده کنین:


txt1.text.replace(",","")


اما سوال تاریخ رو متوجه نشدم مشکل کجاست! شما تاریخی که از تکست باکس میگیری و تو جدول ذخیره میکنی، به یه شکل دیگه نمایش میده؟؟؟
مثلا تاریخ امروز 1391/12/03 توی تکس باکس است ولی زمانی که توی جدول ذخیره اش می کنم عدد 38 ذخیره شده. یعنی وقتی فکر کردم دیدم. عدد 1391 را ابتدا به 12 تقسیم کرده و دوباره نتیجه را به 3 تقسیم کرده و 38 بدست اومده و در جدول ذخیره شده. در صورتی که من داده توی تکس باکس را اول به رشته تبدیل کردم و بعد توی جدول ذخیره کردم. ولی من فکر می کنم اول باید "/" ها را از تاریخ حذف منم بعد ذخیره اش کنم.
حالا اگه بخواهم باهمون "/ " ها ذخیره کنم باید چیکار کنم. یا اصلا روش صحیح برای ذخیره تاریخ توی جدول چطوریه؟

Ghaem66
جمعه 04 اسفند 1391, 03:04 صبح
کدی که تاریخ رو باهاش بدست میارین رو بذارین اینجا.



datetime dt=datetime.now;
persiancallender pc=new persiancalender();
txtdate.text=pc.getyear(dt).tostring()+"/"+pc.getmonth(dt).tostring("d2")+"/"+pc.getdayofmonth(dt).tostring("d2");


کد بالا تاریخ فارسی رو تو تکست باکس میذاره. البته میتونی واسه راحتی از ماسک تکست باکس استفاده کنی. و نتیجه رو که رشته هست تو جدول و تو فیلد مورد نظرت که از نوع nvarchar هست ذخیره کنی. حالا اگه مشکلی با این کد داشتی بگو.
فقط شرمنده اگه ایرادی داره. چون همینجا تایپش کردم.

علی فتحی
پنج شنبه 31 مرداد 1392, 23:52 عصر
منم همون مشکلو دارم لطفا این سورسو درست کنید تو متن مشکلی نداره ولی برای مقادیر عددی ارور میده