Click here to Skip to main content
15,867,704 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi Guyz,

C#
SqlCommand cmd = new SqlCommand("select itemname from newitem where itemid = '" + DropDownList4.Text + "'", con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read() == true)
{
    string a = dr["itemname"].ToString();

    if (porder.Rows[i] != null)
    {
        porder.Rows[i].Cells[0].Text = a.ToString();
        porder.Rows[i].Cells[2].Text = price();  
    }
}
porder.DataSource = dr;
porder.DataBind();   

when i run the program i got error i row[i] index, Index was out of range. Must be non-negative and less than the size of the collection.
Posted
Updated 29-Apr-13 3:27am
v2
Comments
Prasad Khandekar 29-Apr-13 9:29am    
Isn't the error is obvious. Value of i is less than 0. Your code does not tells us how i is getting initialized. Same is the case of porder. If you are binding to pOrder why do you think porder.Rows should return you a valid collection prior to the binding.
ZurdoDev 29-Apr-13 9:50am    
Where are you stuck?
Thanks7872 30-Apr-13 0:25am    
@ryanb31:He has clearly mentioned the error messege and the code snippet as well then there is no way to ask "Where are you stuck?".the error msg itself points out where he is stuck.
ChienVH 4-May-13 13:08pm    
Try to add the below code before you do the while loop.
if (dr.HasRows)
{
while (dr.Read() == true)
.........................
}

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900