2016-10-02 12 views
0

私は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(); 
    } 

このクエリはproductTypeのお土産を持っているすべてのデータをロードする必要があります。

は、ここに私の現在の出力です: これはwell.All最初の行であることのスキップとしてすべての私商品リストに起こるので、私は間違って行くのですenter image description here

?。

私はブートストラップギャラリーのthisの例です。

答えて

1

whileループはif文内にネストされているため、データにアクセスする前に本質的にrdr.Readを2回呼び出しています。これは、返された結果の最初の行が常にスキップされることを意味します。

if文を取り除き、whileループを使用するだけです。

+0

私はそれを試してみる。 –

関連する問題