我已经创建了一个可以使用存储过程名称和 SqlParameters 列表调用的方法,我们称它为 GetData()。 GetData() 然后管理与 SQL Server 的对话并获取数据。然后我需要做的是将数据交回给调用者供他们阅读,他们不需要操作它。我想弄清楚的是,是否最好将调用者交回 DataTable 或 SqlDataReader?
目前,我认为使用 DataTable 是最佳途径。我对此的决定点是:
- 我取回的数据集很小,不到 100 行和 20 列,因此内存应该不是问题。
- 据我所知,DataTable 获取所有数据并将其插入 DataTable,然后自行断开连接,以便 GetData() 管理它自己的连接。
- 使用 SqlDataReader,我必须在处理完数据后在调用函数中管理连接。在 GetData() 中调用后我将无法关闭它,因为我一次只从数据库中读取一行。
这是否是实现我所需的最佳途径?
最佳答案
是的,你的想法很好。
传回一个数据表,而不是 sqldatareader。连接应仅维持最短 向数据库服务器传输数据/从数据库服务器传输数据所需的时间。
关于C# - 传递 DataTable 与 SqlDataReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097115/