【问题标题】:display database datatable info as label array将数据库数据表信息显示为标签数组
【发布时间】:2013-01-18 16:52:06
【问题描述】:

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

我创建了一个名为SqlComm 的类,我在其中处理所有与SQL 连接相关的事情。然后,我有一个查询(查询只是计算一个列,其中某个日期介于两者之间)。我使用查询来设置array 大小。稍后,它循环一个for 循环并将每个新标签添加到一个占位符。遗憾的是,占位符没有显示我刚刚创建的新标签。

c#(代码行为)

  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>

【问题讨论】:

  • 我所有的 labels[] 数组都在获取数据。它只是不显示。可能是另一种方法就足够了(而不是使用占位符)。
  • 这段代码你在哪里写的?点击某个按钮?你检查过浏览器上渲染的 html 吗?
  • @krshekhar 不,我没有。是的,它来自提交按钮。
  • 鉴于您连接字符串的方式,您可能会对 SQL 注入持开放态度;在这种情况下,您应该使用参数化查询。此外,C# 有一个 DateTime 类型,应该不需要转换。还有一件事 - 永远不要在 SQL Server 中使用BETWEEN 和日期/时间/时间戳类型尤其是this article 应该很容易解释。无论如何,这也是考虑日期/时间的错误方式。
  • 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。

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


【解决方案1】:
for (index = 0; index < iLength; index++)

试试看。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      你什么也得不到,因为index == iLength尝试使用index &lt; iLength而没有到达循环

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-10
        • 2012-08-03
        • 1970-01-01
        • 1970-01-01
        • 2012-03-03
        • 2014-04-22
        • 1970-01-01
        相关资源
        最近更新 更多