Bootstrap缩略图库会跳过第一张图像

时间:2016-10-02 03:58:30

标签: c# twitter-bootstrap sql-server-2008

我正在使用C#和sql以预定方式加载库。 在查询方面一切都很好 这是我的示例查询 及其结果:

SELECT productName,productType,image_desc
                               FROM Products3
                               WHERE productType = 'Souvenirs'

结果会是这样的 enter image description here

但是,如果我将此查询与我的c#代码一起使用。 Button Pins似乎没有被跳过。

    private void load_souvenirs_products()
    {
        con.Open();
        cmd = new SqlCommand(@"SELECT productName,productType,image_desc
                               FROM Products3
                               WHERE productType = 'Souvenirs'", con);

        rdr = cmd.ExecuteReader();


        if (rdr.Read())
        {
            while (rdr.Read())
            {
                product_name = rdr["productName"].ToString();
                product_type = rdr["productType"].ToString();
                image_desc = rdr["image_desc"].ToString();

                // foreach()

                lbl_table.Text += @"<div class='col-lg-3 col-md-4 col-xs-6 thumb'>
                    <a href='\CustomerFiles\TermsPDF\Terms_and_Conditions_Order_Form.pdf' download>
                        <p><small>" + product_name + @"</small></p>
                        <img class='img-responsive' src='../../Images/ProductImage/" + image_desc + @"' alt=''>
                    </a>
                </div>";

            }
        }

        con.Close();
    }

此查询应加载{{1>} 纪念品的所有数据。

这是我目前的输出: enter image description here

我哪里出错了?因为这也发生在我所有的产品列表上。所有第一行都跳过了。

我正在关注bootstrap gallery的this示例。

1 个答案:

答案 0 :(得分:1)

因为你的while循环嵌套在if语句中,所以在访问数据之前你实际上是在调用rdr.Read两次。这意味着总是跳过返回结果的第一行。

你应该摆脱if语句,只使用while循环。