gpt4 book ai didi

asp.net - 无法从数据库中检索出想要的数据

转载 作者:行者123 更新时间:2023-12-04 04:50:20 27 4
gpt4 key购买 nike

我在 Visual Studio 2010 中创建了一个 ASP.NET 应用程序。我在从我从日期选择器中选择的两个日期中检索我想要的数据时遇到了问题。一旦我选择了 2 个日期,它就会继续显示所有数据,而不是我选择的日期。

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
string startdate = (string)Session["startdate"];
string enddate = (string)Session["enddate"];
DateTime one = Convert.ToDateTime(startdate);
DateTime two = Convert.ToDateTime(enddate);

if (DateTime.Compare(two, one)>=0)
{
SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog=ncpsdbb;Integrated Security=True");
conn.Open();

SqlCommand sqlcmd = new SqlCommand("SELECT * FROM StudentTransactions WHERE TimeDate BETWEEN '" + startdate + "' AND '" + enddate + "')", conn);

SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataSet ds = new DataSet();
da.Fill(ds);

GridView1.Visible = true;
GridView1.DataBind();

conn.Close();
}
else
{
GridView1.Visible = false;
string strMsg = " Data not found for the choosen dates.";
Response.Write("<script>alert('" + strMsg + "')</script>");
}
}

最佳答案

我最初的观察是有一个 )在您的 SQL 中没有匹配项 ( - 我想知道你的命令是否只是抛出异常......?

我会尝试的第一件事是参数化它;无论如何,除了是一个非常好的主意之外,它还可以避免日期中的格式(dd/MM vs MM/dd)问题:

if(two >= one)
{
DataSet ds = new DataSet();
using(var conn = new SqlConnection("Data Source=localhost;Initial Catalog=ncpsdbb;Integrated Security=True"))
using(var sqlcmd = new SqlCommand("SELECT * FROM StudentTransactions WHERE TimeDate BETWEEN @start AND @end", conn))
using(var da = new SqlDataAdapter(sqlcmd))
{
sqlcmd.Parameters.AddWithValue("start", one);
sqlcmd.Parameters.AddWithValue("end", two);
conn.Open();
da.Fill(ds);
}
}

关于asp.net - 无法从数据库中检索出想要的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com