Могу ли я выполнить сброс и повторный цикл через MySqlDataReader?

У меня есть объект MySqlDataReader с результатом этого запроса:

SELECT warehouse, leasing, transportation, maintenance, manpower FROM retail WHERE zone = 'Central' GROUP BY warehouse

И затем я прокручиваю DataReader один раз,

while (r2.Read())
{
strXml.AppendFormat("<set label = '{0}'></set>",r2["warehouse"].ToString());
}

И теперь я хочу снова пройтись по нему...!!

Я знаю, что DataReader - это только объект «только для пересылки». Но есть ли здесь какое-либо другое решение для меня?

Я спрашиваю, есть ли какой-либо эффективный способ хранения данных, кроме MySqlDataReader?


person Hrishikesh Choudhari    schedule 05.07.2011    source источник
comment
Вы можете снова вызвать читателя после открытия соединения?   -  person Saurabh    schedule 05.07.2011
comment
@Saurabh: снова открыть соединение? Затем мне придется снова выполнить запрос SELECT. Я спрашиваю, есть ли какой-либо эффективный способ хранения данных, кроме MySqlDataReader?   -  person Hrishikesh Choudhari    schedule 05.07.2011


Ответы (1)


Вы можете использовать ниже:

using (MySqlConnection connMySql = new MySqlConnection(global.g_connString))
            {
               MySqlCommand cmd = connMySql.CreateCommand();
                cmd.CommandText = "selece * from <table>"; 
                connMySql.Open();
                using (MySqlDataReader dr = cmd.ExecuteReader())
                {
                        DataTable dt1 = new DataTable();
                        dt1.Load(dr);
                        // You can use this dt1 anywhere in the code
                 }

// разбор таблицы данных

 DataTable dt = new DataTable();
    if (dt.Rows.Count > 0)
    {
        for (int count = 0; count < dt.Rows.Count; count++)
        {
            string str= dt.Rows[count]["[ColumnName]"].ToString();  
        }
    }
person Saurabh    schedule 05.07.2011
comment
Спасибо, что познакомили меня с DataTable, но теперь я не могу найти подходящий учебник, который показал бы мне, как его перебирать. Я хотел бы перебирать DataTable, как я делал для DataReader. .. Не могли бы вы помочь мне таким образом? - person Hrishikesh Choudhari; 05.07.2011