繁体   English   中英

从SQL检索数据

[英]Retrieve data from sql

像一个星期之前,我一直在使用这种编码。 但是我卡在检索部分。 因此,我有这8个用于支付费用的文本框,还有8个用于支付每个费用的价格的框。 在该页面上,有一个下拉菜单,用户将选择月份,然后选择该月的费用(例如一月),文本框将显示该月来自db的记录。 如何链接月份,以便它可以根据用户记录从db检索数据? 以及如何仅显示当前登录用户的记录? 谢谢你们heel我。

protected void Button1_Click(object sender, EventArgs e)
{
     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
    conn.Open();
    SqlCommand cmd = new SqlCommand("SELECT * FROM ExpTab WHERE UserID = @UserName and month = @month",  conn); 
    cmd.Parameters.Add(new SqlParameter("UserName", HttpContext.Current.User.Identity.Name));
    cmd.Parameters.Add(new SqlParameter("@month", DropDownList2.SelectedValue));
    DataTable dt = new DataTable();

只是想问你,如何在文本框中显示检索到的数据? 谢谢你

假设用户从下拉列表而不是日历控件中选择月份,您将执行以下操作:

protected void Button1_Click(object sender, EventArgs e)
{
    using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings    ["Connection"].ConnectionString))
    {
      conn.Open(); //you were missing this
      SqlCommand cmd = new SqlCommand("SELECT * FROM ExpTab WHERE UserID = @UserName and month(date_column)=@month",  conn);
      cmd.Parameters.Add(new SqlParameter("UserName", 
      HttpContext.Current.User.Identity.Name));
      cmd.Parameters.Add(new SqlParameter("@month", dropDownDate.SelectedValue));
      DataTable dt = new DataTable();
      dt.Load(cmd.ExecuteReader());//load the data in a data table, for example.
    }
}

上面的代码进行以下假设:

  1. 您在ExpTab表中有一列保存日期时间。 因此: ... and month(date_col)将与您感兴趣的月份数匹配。
  2. 您的月份选择来自一个名为dropDownDate的下拉列表,该下拉列表每月分配一个1到12之间的整数值。
  3. 我的代码未考虑年份。 我让你找出那部分。

链接到MONTH功能文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM