PDA

View Full Version : سوال: ثبت اطلاعات از maskedtext در بانک



amir-aa
پنج شنبه 06 بهمن 1390, 10:16 صبح
string connectionstring = "Data Source=.;Initial Catalog=anbardar;User Id=sa;Password=1";
SqlConnection conn = new SqlConnection(connectionstring);
string query = "insert into checks(name,idc,mablagh,mablaghh,date,daryafti) values('" + txtProNet1.Text + "','" + txtProNet2.Text + "','" + txtProNet6.Text + "','" + textBox9.Text + "','"+maskedTextBox1.Text.ToString()+"','" + checkBox2.Checked + "')";
SqlCommand cm = new SqlCommand(query, conn);
conn.Open();
cm.ExecuteNonQuery();
conn.Close();
textBox9.Text = "";
txtProNet1.Text = "";
txtProNet2.Text = "";
txtProNet6.Text = "";


اشکال این کد کجاست؟
توی اون maskedTextBox ایراد داره.....توی دیتابیسم فیلدش از نوع varchar هستش.
اینم ارور
String or binary data would be truncated.
The statement has been terminated.

crazy_1892
پنج شنبه 06 بهمن 1390, 10:38 صبح
به nvarchar تبدیل کن ببین مشکل خل نیمشه

amir-aa
پنج شنبه 06 بهمن 1390, 11:02 صبح
درست نشد در ضمن ببین من نمیخوام "/" ها در فیلد تاریخم که از masked گرفته میشه وجود داشته باشه

AliSaeedi_v
پنج شنبه 06 بهمن 1390, 13:39 عصر
سلام شما فیلدت رو از نوع date بزار بعد وقتی میخوای ذیره کنی با این دستور به تاریخ تبدیل کن.
convert.todatetime(masktxtbox.text);

crazy_1892
پنج شنبه 06 بهمن 1390, 14:09 عصر
درست نشد در ضمن ببین من نمیخوام "/" ها در فیلد تاریخم که از masked گرفته میشه وجود داشته باشه
خوب دوست عزیز با استفاده از substring به جای / ،هر چیزی که می خواهی قرار بدی

amir-aa
پنج شنبه 06 بهمن 1390, 14:24 عصر
نه آقا من نمیخوام اینجوری بشه
من فقط میخوام موقع ثبت فقط اعدادم ثبت بشه تازه کار با substring هم بلد نیستم راستش

mp_mp353
پنج شنبه 06 بهمن 1390, 14:55 عصر
قبل از وارد کردن به دستور شما بیا تاریخ رو از مسکت در بیار. کافیه با متن مسکت مثل آرایه و رشته کار کنی.

crazy_1892
پنج شنبه 06 بهمن 1390, 17:21 عصر
توست عزیز تابع substring در یک رشته جستجو می کند و مقدار دوم را به جای مقدار اول قرار می دهد

a="1390/12/12";
a.substring("/"," ");