将类型字符串转换为int [英] convert type string to int
本文介绍了将类型字符串转换为int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将日期设置为文本框,但是我的sql中的日期类型为nvarchar
我的代码是;
PersianCalendar p = 新 PersianCalendar();
DateTime mdate = DateTime.Now;
int pyear = p.GetYear(mdate);
int pmonth = p.GetMonth(mdate);
int pday = p.GetDayOfMonth(mdate);
字符串 pdate = 字符串 .Format(" {2}/{1}/{0}",pyear,pmonth,pday);
TextBox2.Text = pdate;
// ..................
SqlConnection con = 新 SqlConnection(" );
con.Open();
SqlCommand com = 新 SqlCommand(" ,骗子);
com.Parameters.AddWithValue(" ,TextBox1.Text);
com.Parameters.AddWithValue(" ,TextBox2.Text);
com.Parameters.AddWithValue(" ,TextBox3.Text);
com.Parameters.AddWithValue(" ,TextBox4.Text);
com.Parameters.AddWithValue(" ,TextBox13.Text);
com.Parameters.AddWithValue(" ,TextBox7.Text);
Label3.Visible = true ;
int id = Convert.ToInt32(com.ExecuteScalar());
Label3 .Text = 字符串 .Format(" ,id);
Label3.Text = " ;
con.Close();
解决方案
都可以使用 ^ ]或 int.TryParse [ 字符串 s = " ; int i = int .Parse; ... int j; 如果( int .TryParse(s, out j)) { ... }
[edit]改进的示例-OriginalGriff [/edit]
第一件事,为什么这样:我的sql中的日期类型是nvarchar
其次,您可以尝试:
Convert.ToInt32
将字符串转换为整数.您可以将转换失败作为溢出"或格式"异常处理.
例如:
int convertInteger = Convert.ToInt32(" ); // 如果someString为1234,则convertInteger = 1234 // 如果someString为null,则convertInteger = 0
参考: MSDN:Convert.ToInt32方法(字符串) [ int pyear = p.GetYear(mdate); int pmonth = p.GetMonth(mdate); int pday = p.GetDayOfMonth(mdate); 字符串 pdate = 字符串 .Format(" {2}/{1}/{0}",pyear,pmonth,pday); // 现在,将该日期传递给该varchar字段的数据库.
hi
how can i convert nvarchar to int in asp.net?
i set date to textbox but type of date in my sql is nvarchar
my code is;
PersianCalendar p = new PersianCalendar();
DateTime mdate = DateTime.Now;
int pyear = p.GetYear(mdate);
int pmonth = p.GetMonth(mdate);
int pday = p.GetDayOfMonth(mdate);
string pdate = string.Format("{2}/{1}/{0}", pyear, pmonth, pday);
TextBox2.Text = pdate;
//..................
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=NezamPezeshki;Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand("INSERT INTO shekayat(FileNum,shekayatDate, shakiName, shakiTell, patient, Description) VALUES ( @shd, @shn, @sht, @p, @des,@fn)", con);
com.Parameters.AddWithValue("@shn", TextBox1.Text);
com.Parameters.AddWithValue("@shd", TextBox2.Text);
com.Parameters.AddWithValue("@p", TextBox3.Text);
com.Parameters.AddWithValue("@sht", TextBox4.Text);
com.Parameters.AddWithValue("@fn",TextBox13.Text);
com.Parameters.AddWithValue("@des", TextBox7.Text);
Label3.Visible = true;
int id = Convert.ToInt32(com.ExecuteScalar());
Label3 .Text = String.Format("شماره کلاسه {0}", id);
Label3.Text = "success";
con.Close();
解决方案
Either use int.Parse[^] or int.TryParse[^]:
string s = "1234"; int i = int.Parse(s); ... int j; if (int.TryParse(s, out j)) { ... }
[edit]Improved example - OriginalGriff[/edit]
First thing, why so: type of date in my sql is nvarchar
Second, you can try:
Convert.ToInt32
to convert a string into interger. You can handle the conversion failure as Overflow or Format exception.
Ex:
int convertedInteger = Convert.ToInt32("someString"); // if someString was 1234, convertedInteger = 1234 // if someString was null, convertedInteger = 0
Refer: MSDN: Convert.ToInt32 Method (String)[^]
UPDATE:
my field in sql is nvarchar and i want send date like 12/02/2012 to related field in sql
Your code already have most of it. To have a defined date format sent as a string to a Varchar field:
int pyear = p.GetYear(mdate); int pmonth = p.GetMonth(mdate); int pday = p.GetDayOfMonth(mdate); string pdate = string.Format("{2}/{1}/{0}", pyear, pmonth, pday); // Now pass this pdate to database for that varchar field.
这篇关于将类型字符串转换为int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文