2013-11-21 88 views
3

我需要帮助创建一个网站,我可以将t-sql表中的所有数据显示为网页表格。但我所有的代码都只显示了我数据库中的最后一个数据。我是这个网络环境中的新人。我在html5c#代码中这样做。从sql server数据库显示所有数据到表

if (Byday.Checked == true) 
    { 
     con.Open();//database control 
     string sql = "select top 30 * from " + locID + " where date = '" + txtStartDate.Text+ "'"; 
     SqlCommand com = new SqlCommand(sql, con); 

     SqlDataReader dr = com.ExecuteReader(); 
     //execute datareader 
     if (dr.HasRows) 
     { 
      while (dr.Read()) 
      { 
       Label2.Text = dr["ID"].ToString(); 
       Label3.Text = dr["date"].ToString(); 
       Label4.Text = dr["data"].ToString(); 
      } 
     } 

有没有一种方法可以让系统按月份/年搜索数据?这对我非常有帮助。 thx

回答

0

我想问题是你只选择了30条记录。在表中选择的所有记录:

string sql = "select id, date, data from " + locID + " where date = '" + txtStartDate.Text+ "'"; 

有按月份和年份进行搜索,查看下面的功能,它可以转换你的date以不同的方法:

  • Year - 从日期越来越一年
  • Month - 从日期
  • datename(MONTH, yourdate)得到月份数来获得该月的名称

所以,如果你需要从每年获得的所有记录2013你可以做使用以下where条款:

WHERE YEAR(date) > 2013 
+0

我仍然有问题,因为它只能显示表中的数据的最后一行。我需要它显示网站上的前30个数据。我已经运行查询,它运行良好,但是当我想在我的网页中查看它时,它只显示每列的数据库的最后一行。 – newbie88

+0

我可以用控件的表格形式显示数据吗? – newbie88

+0

我只注意到我用的查询只搜索yyyy/mm/dd 00:00:00的日期。我需要它在日期yyyy/mm/dd 00:00:00搜索整个日期,直到yyyy/mm/dd 23:59:99 ...我该怎么做? – newbie88