代码之家  ›  专栏  ›  技术社区  ›  Arve Systad

在C#/ASP.NET中存储SqlDataReader对象?

  •  0
  • Arve Systad  · 技术社区  · 15 年前

    我目前正在ASP.NET(3.5)应用程序中编写一个C#类来处理所有数据库查询。有些方法用于对数据库进行select查询。在方法中,我只是有一个 SqlDataReader r = command.ExecuteReader(); 获取数据。

    r 但当我关闭数据库连接时,datareader关闭,对象不再包含任何内容。考虑过将所有内容放入字符串数组,但如果我的数据库中混合了整数和文本字段,这是不现实的。是否有一种简单(“预制”)的方法将数据存储在某个要返回的对象中?

    4 回复  |  直到 15 年前
        1
  •  3
  •   scottm    15 年前

    您可以使用datatable和SqlDataAdapter:

    using(SqlDataAdapter adap = new SqlDataAdapter(cmd))
    {
      adap.fill(myDataTable);
    }
    
    return myDataTable;
    
        2
  •  2
  •   ChrisLively    15 年前

    通常,结果要么填充到集合中,要么填充到数据表中。从不必实例化和存储对象的角度来看,数据表更容易一些。

        3
  •  1
  •   Sam Saffron James Allen    15 年前

    subsonic 为此

        4
  •  0
  •   willz    15 年前

    您只需将commandbehavior设置为closeconnection。 基础连接将关闭。