-2

データベースに 5 つのレコードがあり、以下のコードは 5 つのレコードすべてを取得して書き込むために正常に動作しています。

while (dr.Read())
{
     String a1 = dr[0].ToString();
     Response.Write(a1);
}

しかし、削除Resonse.Write(a1);して使用するとrepvals = a1;、すべてのレコードではなく、最後の 1 つのレコードのみが表示されます。

while (dr.Read())
{
    String a1 = dr[0].ToString();
    repvals = a1;
}

上記のコードで、repvals は <%=repvals%> と宣言されprotected string repvals、コード ページのように宣言されたサーバー サイドの HTML コントロールです。

4

3 に答える 3

6

各反復で新しい文字列を repvals に連結する必要があるため、代わりにこれを試してください

while (dr.Read())
{
    String a1 = dr[0].ToString();
    repvals += a1;
}
于 2012-10-14T05:23:39.930 に答える
5

毎回値を上書きしているためです。毎回同じ変数に割り当てるのではなく、文字列を連結する必要があります。下記参照:

repvals="";
while (dr.Read())
  {
     String a1 = dr[0].ToString();
     repvals = repvals + a1;
   }
于 2012-10-14T05:23:48.320 に答える
0

repvals を宣言し、値を 5 回書き込みました。ループの後にレンダリングしているため、最後の書き込みが表示されます。マークアップで配列またはリストを使用し、ループでデータベースから値を蓄積します。

于 2012-10-14T05:25:03.667 に答える