我想在两个日期之间显示数据。我的输入是08/17/2018和08/18/2018数据出现在Gridview中,但我仍然得到错误,没有找到记录
这是我的代码
myConn.Open();
SqlCommand cmd = new SqlCommand(@"SELECT User_Name , Product_Code , Log_Detail FROM Product_Detail
WHERE Log_Detail BETWEEN '" + TextBox1.Text + "' AND '" + TextBox2.Text + "' ", myConn);
SqlDataReader reader = cmd.ExecuteReader();
GridView1.DataSource = reader;
if (reader.Read())
{
GridView1.DataBind();
}
else
{
Lab3.Text = "No Records Found";
}
myConn.Close();
也许那是因为你的datetime
专栏的时间价值,试试这个:
"SELECT User_Name , Product_Code , Log_Detail FROM Product_Detail WHERE Log_Detail BETWEEN CONVERT ('" + TextBox1.Text + "', GETDATE()) AND CONVERT ('" + TextBox2.Text + "', GETDATE())"
您需要以YYYY-MM-DD格式指定日期。您指定的格式将被解释为DD-MM-YYYY或MM-DD-YYYY,直到该月的第12天通常可以互换。
var from = DateTime.ParseExact(TextBox1.Text, "MM/DD/YYYY"); // Change the format to match your locale
var to = DateTime.ParseExact(TextBox2.Text, "MM/DD/YYYY");
SqlCommand cmd = new SqlCommand(@"SELECT User_Name , Product_Code , Log_Detail FROM Product_Detail
WHERE Log_Detail BETWEEN '" + from.ToString("O") + "' AND '" + to.ToString("O") + "' ", myConn);