目前,我只是创建一个OLEDB连接,对其运行查询并将结果集加载到SSIS对象中。我不知道这个对象到底是什么。之后,我将这个Object加载到我的C#代码中的DataTable中。有没有办法将这个结果集直接加载到数据表中?另外,有没有办法从对象本身获取结果集中的行数?现在,我将其加载到数据表中,然后将行数作为myDataTable.Rows.Count;
感谢。
答案 0 :(得分:0)
解决方案是使用ADO.NET连接而不是OLEDB。如果使用ADO.NET连接,则会获得ADO.NET DataSet对象。 DataSet是DataTable的集合。
DataSet教程的一些链接 -
http://www.dotnetperls.com/dataset
斯科特米切尔的啧啧 -http://msdn.microsoft.com/en-us/library/aa581776.aspx
另外,如果要使用C#获取OLEDB结果集中的行数(实际上是ADODB记录集),请使用此 -
using ADODB;
ADODB.Recordset resultSet = (ADODB.Recordset)Dts.Variables["MyResultSet"].Value;
int rows = resultSet.RecordCount;
不要按如下方式添加对ADODB的引用 - 解决方案浏览器>参考文献> COM标签> Microsoft ActiveX Data Objects 2.X Library>好。 文件菜单>全部保存