[英]Inserting Date and time from two text boxes
從兩個單獨的文本框中插入日期和時間。 並串聯以保存到數據庫。 我已經看到了許多有關datetime
轉換的示例,但沒有任何線索。 提前感謝
DateTime Datetime = Dateconversion.ConvertToDate(txtDate.Text.Trim());
DateTime time = Convert.ToDateTime(txtTime.Text);
insert into table(date) values('"+Datetime+" "+time+"')
首先 ,永遠不要直接在用戶輸入上使用Convert.ToDateTime,因為當輸入不可轉換為日期時間時,它將引發異常。
而是使用DateTime.TryParse
或DateTime.TryParseExact.
其次 ,不要串聯字符串來創建sql語句,因為它是sql注入攻擊的門戶。 請改用參數化查詢 。
您的代碼應如下所示:
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();
}
}
我建議您先將字符串連接起來,然后再將其轉換為日期時間對象。
https://msdn.microsoft.com/zh-CN/library/8kb3ddd4(v=vs.110).aspx
希望對您有所幫助。請使用TryParseExact,請勿將用戶輸入的內容直接轉換為日期時間,否則可能導致嚴重問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.