リストが上書きされるため、WebGrid への出力に問題があります。最終的には、グリッドのすべての行に対して最終行のデータが書き込まれます。データが継続的に追加され、大量のデータを見ているため、while ループを使用する必要があるため、別のリストに書き込まないようにしています。
public class ChemData
{
string strSQLconnection = "Server=Server;Database=data;Uid=Username;Pwd=Password";
public int productId { get; set; }
public string productName { get; set; }
public List<ProdData> ProdList = new List<ProdData>();
public List<ProdData> ProdDataPull()
{
ProdData Analysis = new ProdData();
SqlDataReader reader = null;
SqlConnection conn = new SqlConnection(strSQLconnection);
SqlCommand query = new SqlCommand("Select * from producttable");
conn.Open();
query.Connection = new SqlConnection(strSQLconnection);
query.Connection.Open();
reader = query.ExecuteReader();
while (reader.Read())
{
if (!reader.IsDBNull(0)) Analysis.productId = reader.GetInt32(0);
if (!reader.IsDBNull(1)) Analysis.productName = reader.GetString(1);
ProdList.Add(Analysis);
}
return ChemList;
}
}