[英]DateTime Conversion Error asp.net with sql server
<asp:TextBox ID="txtBox" runat="server">
</asp:TextBox>
<asp:CalendarExtender ID="ce" runat="server" TargetControlID="txtBox" Format="dd-MMM-yyyy">
</asp:CalendarExtender>
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection239"].ToString()))
{
SqlCommand cmd = new SqlCommand("insert into tbl_testing(dttm) values('"+DateTime.Parse(txtBox.Text)+"')", con);
con.Open();
cmd.ExecuteNonQuery();
}
當我執行以下錯誤時。 我應該以哪種格式將日期發送到SQL Server
從char數據類型到datetime數據類型的轉換導致超出范圍的datetime值。 該語句已終止。 提前致謝
在查詢中使用參數,而不是字符串連接。 不僅您的日期時間問題將消失,而且您的查詢也將不易受到sql注入的攻擊。
除此之外,您還可以使用DateTimePicker代替文本框,對嗎?
var command = conn.CreateCommand();
command.CommandText = "insert into tbl_testing(thecol) values(@p_someDate)";
command.Parameters.Add ("@p_someDate", SqlDbType.DateTime).Value = datetimePicker.Value;
command.ExecuteNonQuery();
請使用以下代碼:
SqlCommand cmd = new SqlCommand("insert into tbl_testing(dttm) values(@dttm)", con);
cmd.Parameters.AddWithValue("@dttm", DateTime.Parse(txtBox.Text));
con.Open();
cmd.ExecuteNonQuery();
只需通過SqlParameter傳遞值,就永遠不要使用字符串連接。
mm-dd-yyyyThh:mm:ss
確保服務器(本地或其他)使用正確的時間。 例如,如果它是英國或美國。 日期也包裹在“”中。 看來您將其包裝在“”中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.