Microsoft数据访问应用块 Data Acess Application Block V2 (2) :返回多表结果到同一个DataSet中
如果要使用SqlHelper执行多个SqlCommand并将结果填到同一个DataSet的多个表中,除了在上一篇文章介绍过的使用 ExecuteDataset这个函数以外,还可以使用另一个功能强大的函数:FillDataSet,并且这个方法比ExecuteDataSet更为灵活,比如,您可以指定填充的表的名字,可以在多表之间建立TableRelation,等等。
下面给出一段示例代码:
DataSet ds=new DataSet ();
SqlHelper.FillDataset (con,CommandType.Text ,"select * from Customers",ds,new string []{"Customers"});
dataGrid1.DataSource =ds.Tables ["Customers"];
SqlHelper.FillDataset (con,CommandType.Text ,"select * from Orders",ds,new string []{"Orders"});
dataGrid2.DataSource =ds.Tables ["Orders"];
下面是FillDataSet的签名描述:
Executes a command by using a connection string
[C#] FillDataset(string connectionString, CommandType commandType,
string commandText, DataSet dataset, string[] tableNames)
Executes a command by using a connection string and an array of SqlParameters
[C#] FillDataset(string connectionString, CommandType commandType,
string commandText, DataSet dataSet, string[] tableNames,
params SqlParameter[] commandParameters)
Executes a stored procedure by using a connection string
[C#] FillDataset(string connectionString, string spName, DataSet dataSet,
string[] tableNames, params object[] parameterValues)
Executes a command by using a SqlConnection object
[C#] FillDataset(SqlConnection connection, CommandType commandType,
string commandText, DataSet dataSet, string[] tableNames)
Executes a command by using a SqlConnection and an array of SqlParameters
[C#] FillDataset(SqlConnection connection, CommandType commandType,
string commandText, DataSet dataSet, string[] tableNames,
params SqlParameter[] commandParameters)
Executes a stored procedure by using a SqlConnection object
[C#] FillDataset(SqlConnection connection, string spName,
DataSet dataSet, string[] tableNames, params object[] parameterValues)
Executes a command by using a SqlTransaction
[C#] FillDataset(SqlTransaction transaction, CommandType commandType,
string commandText, DataSet dataSet, string[] tableNames)
Executes a command by using a SqlTransaction and SqlParameters
[C#] FillDataset(SqlTransaction transaction, CommandType commandType,
string commandText, DataSet dataSet, string[] tableNames,
params SqlParameter[] commandParameters)
Executes a stored procedure by using a SqlTransaction
[C#] FillDataset(SqlTransaction transaction,
string spName, DataSet dataSet, string[] tableNames,
params object[] parameterValues)