将数据库数据表信息显示为标签数组

时间:2013-01-18 16:52:06

标签: c# asp.net sql sql-server-2008 datatable

很难找到正确的问题主题。好吧,让我详细说明一下。我正在制作条形码生成器简单的webapp。这是我们的仓库团队。

我创建了一个名为SqlComm的类,我处理所有SQL连接相关的事情。然后,我有一个查询(查询只是计算一个列之间的一些日期)。我使用查询来设置array大小。之后,它循环遍历for周期并将每个新标签添加到占位符。可悲的是,占位符没有显示刚刚创建的新标签。

c#(codebehing)

  int index = 0;
  int iLength = 0;

  dt = SqlComm.SqlDataTable("SELECT [Lenum] FROM [SUIDonMachineTable] WHERE MachineTimestamp  BETWEEN CONVERT(datetime,'"+strDayFrom+"', 121) AND CONVERT(datetime,'"+strDayTo+"', 121) AND Station ='NG08NX1BT'");

  object obj = new object();
  obj = SqlComm.SqlReturn("SELECT COUNT (Lenum) FROM [SUIDonMachineTable] WHERE MachineTimestamp  BETWEEN CONVERT(datetime,'"+strDayFrom+"', 121) AND CONVERT(datetime,'"+strDayTo+"', 121) AND Station ='NG08NX1BT'");
  iLength = Convert.ToInt32(obj);
  Label[] labels = new Label[iLength];

  for (index = 0; index == iLength; index++)
     {                        
         labels[index] = new Label();
         labels[index].Text = (string)dt.Rows[index]["Lenum"];
         PH.Controls.Add(labels[index]);                                
     }

asp.net(占位符部分)

<asp:PlaceHolder ID="PH" runat="server"></asp:PlaceHolder>

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

for (index = 0; index < iLength; index++)

试试吧。

答案 2 :(得分:0)

由于index == iLength尝试使用index < iLength

,因此未获得循环,因此无法获取任何内容