Haris Hussain - Posted on Monday, June 30, 2008 23:15:15
I am facing a following exception. While am deleting a row from gridview. I am using VS 2005.
Exception: Index was out of range.Parameter must be non negative and less than the index collection. Parameter Name : INDEX
private void bindingNavigatorDeleteItem_Click()
{
try
{
SqlDataAdapter da;
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(@"Data Source=HARIS\SQLEXPRESS;Initial Catalog=Nesk;Integrated Security=True");
da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("sp_Nsk_PromoCriteriaDelete");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@promoID", SqlDbType.VarChar).Value = System.Convert.ToInt32(nsk_PromoCriteriaDataGridView.SelectedRows[0].Cells[0].Value);
cmd.Connection = conn;
da.SelectCommand = cmd;
da.Fill(ds);
conn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Stored Procedure:
ALTER PROCEDURE [dbo].[sp_Nsk_PromoCriteriaDelete]
@PromoID varchar(20)
AS BEGIN
SET NOCOUNT ON;
delete from Nsk_PromoCriteria where PromoId = @PromoID
END
Property Set:
RowTemplate: DataGridViewRow Index{-1