Click here to Skip to main content
13,091,300 members (49,372 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Hi Guyz,

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;

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 29-Apr-13 3:21am
Updated 29-Apr-13 3:27am
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.
ryanb31 29-Apr-13 9:50am
Where are you stuck?
Rohan Leuva 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.
chien.vh 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)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web02 | 2.8.170813.1 | Last Updated 29 Apr 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100