0

fees_structureには 24 の「A」カテゴリ行があります。しかし、それらを取得して印刷しようとすると、20行または(21行の場合もあります)しか表示されません

これが私のコードです:

string catA = "SELECT id,fees_name,amount,fee_category FROM fees_structure where fee_category='A' ORDER BY id";

using (SqlCommand scom = new SqlCommand(catA, con))
{
    using (SqlDataReader read = scom.ExecuteReader())
    {
        read.Read();

        if (read.HasRows)
        {
            while (read.Read())
            {
                feestableA.Append("<tr>");
                feestableA.Append("<td>" + read["fees_name"] + "</td>");
                feestableA.Append("<td>" + read["amount"] + "</td>");
                feestableA.Append("</tr>");
            }

            plcfeesA.Controls.Add(new Literal { Text = feestableA.ToString() });
            plcfeesA.Dispose();
        }
    }
}
4

3 に答える 3

2

read()whileが怪しい。私はそれが一列を食べているのではないかと疑っています。

行を失う別の可能性は、大文字と小文字を区別する照合です-カテゴリが'a'(または別のエンコーディングのバリアント)である可能性がある場合。ただし、これは、列、データベース、およびサーバーに使用される既定または明示的な照合順序によって異なります。

于 2015-05-30T14:10:36.900 に答える
0

I dont think this is a C# issue.

Try this

string catA = "SELECT id,fees_name,amount,fee_category FROM fees_structure where fee_category like '%A%' ORDER BY id";

Just see if your results change

于 2015-05-30T14:03:50.937 に答える
0

これを試して。よく見てください。実行したくないことを実行しているコード行を削除しました。

string catA = "SELECT id,fees_name,amount,fee_category FROM fees_structure where fee_category='A' ORDER BY id";

using (SqlCommand scom = new SqlCommand(catA, con))
{
    using (SqlDataReader read = scom.ExecuteReader())
    {
        while (read.Read())
        {
            feestableA.Append("<tr>");
            feestableA.Append("<td>" + read["fees_name"] + "</td>");
            feestableA.Append("<td>" + read["amount"] + "</td>");
            feestableA.Append("</tr>");
        }

        plcfeesA.Controls.Add(new Literal { Text = feestableA.ToString() });
    }
}

}

于 2015-05-30T14:10:45.390 に答える