【发布时间】:2010-11-04 17:55:19
【问题描述】:
我在公共课上有这个:
SqlConnection myConnection = new SqlConnection("Data Source=hermes;database=qcvalues; Integrated Security=SSPI;");
myConnection.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand(InitializeQuery(), myConnection);
myReader = myCommand.ExecuteReader();
我需要一个控件的数据源来从 myReader 获取数据集。
不幸的是,这很难做到,因为控件位于表单(一个单独的类)上。如何将myReader 数据集返回到表单上控件的datasource 属性中?
【问题讨论】:
-
如果只返回一个结果集,请使用 DataTable。如果有多个,请使用 DataSet。
-
根据评论者here,如果你想阅读它,他会显示 DataAdapter.Fill 的代码,Fill 方法有它自己的 try-finally,它会关闭连接,所以你不会不得不。另见this SO question。只要你代码中没有打开连接,Fill会在出现异常时关闭连接。