arin
arin

Reputation: 600

Multiple rows printing from database

After querying for data from a database I used the datareader to fill an array. as the following.

connection.Open();
System.Data.SqlClient.SqlDataReader reader = command.ExecuteReader();
reader.Read();

_firstname = reader[0].ToString();
_Year = reader[1].ToString();
_coursename = reader[2].ToString();
_credits = reader[3].ToString();
_mark = reader[4].ToString();
_firstname2 = reader[5].ToString();

reader.Close();

I But the result show as below

1 - Sam Bons 
2- 2012 
3- DDD 
4- 3 
5- 80 

How can I perform a loop to get all the results from the DB and print it out ?

thank you


I did it as so Thank you Ann

result = string.Empty;
                int counter = 1;
                while (reader.Read())
                {
                    _firstname = reader[0].ToString();
                    _Year = reader[1].ToString();
                    _coursename = reader[2].ToString();
                    _credits = reader[3].ToString();
                    _mark = reader[4].ToString();

                    result += string.Format("{5} - {0}{1}{2}{3}{4} </br>  ",
                        _firstname,
                        _Year,
                        _coursename,
                        _credits,
                        _mark,
                        counter);
                    counter++;

                }
                Response.Write(result);

                reader.Close();

Upvotes: 0

Views: 1402

Answers (1)

Ann L.
Ann L.

Reputation: 13965

First off, you're not actually putting anything in an array, as you stated. You're just setting what look to be local variables.

If your question is about the syntax of a loop, it would be like this:

while(reader.Read())
{
   // set your variables
   // do something with the variables
}

Put that between your ExecuteReader call and your reader.Close() call.

Upvotes: 2

Related Questions