【问题标题】:Can I reset and loop again through MySqlDataReader?我可以通过 MySqlDataReader 重新设置和循环吗?
【发布时间】:2011-07-05 08:49:58
【问题描述】:

我有一个 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 之外,还有什么有效的方法来保存数据吗?

【问题讨论】:

  • 打开连接后可以再次调用 reader 吗?
  • @Saurabh:再次打开连接?然后我将不得不再次运行 SELECT 查询。我在问,除了 MySqlDataReader 之外,还有什么有效的方法来保存数据吗?

标签: asp.net sqldatareader 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();  
        }
    }

【讨论】:

  • 感谢您向我介绍 DataTable,但现在我找不到合适的教程来告诉我如何迭代它。我想像以前那样迭代 DataTable DataReader..就像r2["warehouse"] ...你能帮我吗?
猜你喜欢
  • 2016-06-19
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多