从两个文本框插入日期和时间

时间:2015-06-19 10:29:09

标签: c# sql asp.net sql-server-2008

从两个单独的文本框插入日期和时间。并连接以保存到数据库。 我已经看到很多datetime次转化的例子,但没有得到任何线索。 感谢前进

DateTime Datetime = Dateconversion.ConvertToDate(txtDate.Text.Trim());
DateTime time = Convert.ToDateTime(txtTime.Text);
insert into table(date) values('"+Datetime+" "+time+"')

2 个答案:

答案 0 :(得分:3)

首先,不要直接在用户输入上使用Convert.ToDateTime,因为当输入无法转换为日期时,它会抛出异常。
相反,请使用DateTime.TryParseDateTime.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,不要直接将用户输入转换为日期时间,否则会造成严重问题。