0

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

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

4

4 回答 4

3

您可以使用数据表和 SqlDataAdapter:

using(SqlDataAdapter adap = new SqlDataAdapter(cmd))
{
  adap.fill(myDataTable);
}

return myDataTable;
于 2009-01-12T23:15:50.767 回答
2

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

于 2009-01-12T23:18:24.773 回答
1

你有没有想过为此使用 Linq 或类似subsonic的 ORM

于 2009-01-12T23:30:10.147 回答
0

您可以将命令行为设置为关闭连接。然后当您调用 r.close 时,底层连接将关闭。

于 2009-01-12T23:16:02.560 回答