这是我的代码,它引发了错误。我正在为HTML编码使用输入类型文本。
using (SqlConnection con = new SqlConnection("Data Source=USER-PC;Initial Catalog=1GCAttendanceManagementSystem;Integrated Security=True"))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Attendances WHERE Date BETWEEN @From AND @To", con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
cmd.Parameters.Add("@From", SqlDbType.Date).Value = datepicker1.Text;
cmd.Parameters.Add("@To", SqlDbType.Date).Value = datepicker2.Text;
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
这是错误的屏幕截图
您正在获取Text
,即string
并将其传递。尝试首先将其转换为DateTime
数据类型,例如:
DateTime oDateFrom = Convert.ToDateTime(datepicker1.Text);
DateTime oDateTo = Convert.ToDateTime(datepicker2.Text);
然后将它们传递到parameters
:
cmd.Parameters.Add("@From", SqlDbType.Date).Value = oDateFrom;
cmd.Parameters.Add("@To", SqlDbType.Date).Value = oDateTo;
希望在您再次询问之前对您有所帮助,并请阅读;我应该怎么问一个好问题?