Исключение Индекса Вне Диапазона .
Привет, ребята, я пытаюсь загрузить gridView, используя 3-уровневую архитектуру.Теперь я не совсем уверен в своем коде, но на данный момент получаю эту ошибку "IndexOutOfRangeException productID" и это сбивает меня с толку.
Ниже приведен метод в бизнес - слое, чтобы получить все мои продукты
public ArrayList getProducts() { using (SqlConnection con = new SqlConnection(ConnectionString)) { SqlCommand cmd = new SqlCommand("procReturnAllProducts", con); cmd.CommandType = CommandType.StoredProcedure; ArrayList productsList = new ArrayList(); try { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Products products = new Products(Convert.ToInt32(reader["productID"]), Convert.ToString(reader["productName"]), Convert.ToInt32(reader["supplierID"]), Convert.ToInt32(reader["categoryID"]), Convert.ToString(reader["quantityPerUnit"]), Convert.ToDouble(reader["unitPrice"]), Convert.ToInt16(reader["unitInStoct"]), Convert.ToInt16(reader["unitOnOrder"]), Convert.ToInt16(reader["reOrderLevel"]), Convert.ToBoolean(reader["discontinue"])); productsList.Add(products); }//End while reader.Close(); } catch (SqlException) { throw new ApplicationException("Error connection to database"); } return productsList; }//End Using }
Теперь ниже находится моя клиентская форма
public partial class Form1 : Form { public ProductsBL productBL; public ArrayList prodList; public Form1() { InitializeComponent(); productBL = new ProductsBL(); prodList = new ArrayList(); prodList = productBL.getProducts(); dataGridView1.DataSource = prodList; } }