Могу ли я сбросить и повторить цикл через 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?
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();
}
}