使用datetime进行错误的SQL查询

时间:2013-04-26 07:47:32

标签: asp.net sql sql-server datetime

当我执行以下操作时出错:

DateFrom的数据类型为datetime

enter image description here

我的C#代码:

string strQuery = "Select * FROM Agenda Where   DateFrom='" + Calendar1.SelectedDate.Date.Date + "' ";
SqlCommand command = new SqlCommand(strQuery, Global.myConn);
da = new SqlDataAdapter(command);
da.Fill(Global.dsAgenda, "Tabel");
ddlActivity.DataSource = Global.dtAgenda;
ddlActivity.DataBind();

Calendar1类型:

enter image description here

错误:

  

将varchar数据类型转换为日期时间数据类型会导致超出范围的值。

2 个答案:

答案 0 :(得分:4)

您应该更喜欢使用parameters

string strQuery = "SELECT * FROM Agenda WHERE DateFrom = @Date";
SqlCommand command = new SqlCommand(strQuery, Global.myConn);
command.Parameters.Add("@Date", SqlDbType.DateTime).Value = Calendar1.SelectedDate;

答案 1 :(得分:1)

使用此

 Convert(DateTime,Calendar1.SelectedDate.Date.Date,103)