从两个单独的文本框插入日期和时间。并连接以保存到数据库。
我已经看到很多datetime
次转化的例子,但没有得到任何线索。
感谢前进
DateTime Datetime = Dateconversion.ConvertToDate(txtDate.Text.Trim());
DateTime time = Convert.ToDateTime(txtTime.Text);
insert into table(date) values('"+Datetime+" "+time+"')
答案 0 :(得分:3)
首先,不要直接在用户输入上使用Convert.ToDateTime,因为当输入无法转换为日期时,它会抛出异常。
相反,请使用DateTime.TryParse
或DateTime.TryParseExact.
第二次,永远不要连接字符串来创建一个sql语句,因为它是sql injections attacks的一扇门。请改用parameterized queries。
您的代码应如下所示:
DateTime DateTimeValue;
string DateTimeString = txtDate.Text.Trim() +' '+ txtTime.Text.Trim();
if(DateTime.TryParse(DateTimeString, out DateTimeValue))
{
using(SqlConnection con = new SqlConnection("ConnectionString")) {
SqlCommand cmd = new SqlCommand("insert into table(date) values(@Value)", con);
cmd.Parameters.Add("@Value", SqlDbType.DateTime).value = DateTimeValue;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
答案 1 :(得分:0)
我建议你在将字符串转换为日期时间对象之前连接字符串。
https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
希望它会有所帮助。请使用TryParseExact,不要直接将用户输入转换为日期时间,否则会造成严重问题。