我在公共课上有这个:
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();
Run Code Online (Sandbox Code Playgroud)
我需要控件的数据源来从myReader获取数据集.
不幸的是,这很难做到,因为控件是在一个表单(一个单独的类)上.如何将myReader
数据集返回到datasource
表单中控件的属性?
Jus*_*ner 44
你没有.请改用DataAdapter:
var ds = new DataSet();
using(var conn = new SqlConnection(connString))
{
conn.Open();
var command = new SqlCommand(InitializeQuery(), conn);
var adapter = new SqlDataAdapter(command);
adapter.Fill(ds);
}
Run Code Online (Sandbox Code Playgroud)
pyC*_*der 22
如果您可以使用DataAdapter子类或使用以下内容:
DataTable myTable = new DataTable();
myTable.Load(myCommand.ExecuteReader());
Run Code Online (Sandbox Code Playgroud)
然后将DataTable返回给客户端.
小智 7
IDataReader reader;
DataSet ds;
while (!reader.IsClosed)
ds.Tables.Add().Load(reader);
Run Code Online (Sandbox Code Playgroud)
您可以更改代码以使其返回 DataSet ,而不是返回 SqlDataReader 。
SqlConnection myConnection = new SqlConnection("Data Source=hermes;database=qcvalues; Integrated Security=SSPI;");
DataSet dst = new DataSet();
SqlDataAdapter dap = new SqlDataAdapter(InitializeQuery(), mConnection);
dap.Fill(dst, "DataSetName");
Run Code Online (Sandbox Code Playgroud)
这种方法的优点之一是 Fill 会为您打开和关闭数据库连接。
归档时间: |
|
查看次数: |
85058 次 |
最近记录: |