目前,我只是創建一個OLEDB連接,對其運行查詢並將結果集加載到SSIS對象中。我不知道這個對象究竟是什麼。之後,我將這個對象加載到我的C#代碼中的DataTable中。而不是做所有這些,有沒有辦法將這個結果集直接加載到數據表中?另外,有沒有辦法從對象本身獲取結果集中的行數?現在,我將它加載到數據表中,然後將行數作爲myDataTable.Rows.Count;將數據直接放入DataTable或點網對象?
謝謝。
目前,我只是創建一個OLEDB連接,對其運行查詢並將結果集加載到SSIS對象中。我不知道這個對象究竟是什麼。之後,我將這個對象加載到我的C#代碼中的DataTable中。而不是做所有這些,有沒有辦法將這個結果集直接加載到數據表中?另外,有沒有辦法從對象本身獲取結果集中的行數?現在,我將它加載到數據表中,然後將行數作爲myDataTable.Rows.Count;將數據直接放入DataTable或點網對象?
謝謝。
解決方法是使用ADO.NET連接而不是OLEDB。如果使用ADO.NET連接,您將獲得ADO.NET DataSet對象。 DataSet是DataTable的集合。
一些鏈接的數據集教程 -
http://www.dotnetperls.com/dataset
斯科特·米切爾的嘖嘖 -
http://msdn.microsoft.com/en-us/library/aa581776.aspx
另外,如果你想獲得(在你的OLEDB結果集的行數實際上是一個ADODB記錄集),然後使用這個 -
using ADODB;
ADODB.Recordset resultSet = (ADODB.Recordset)Dts.Variables["MyResultSet"].Value;
int rows = resultSet.RecordCount;
請按照以下步驟添加對ADODB的引用 - 解決方案資源管理器>參考> COM選項卡> Microsoft ActiveX數據對象2.X庫>確定。 文件菜單>保存全部
欲瞭解更多關於此問題的信息,請訪問(由舒適的好幫手) - http://social.msdn.microsoft.com/Forums/sqlserver/en-US/a3aa958b-aca6-4929 -9693-316204d4df04/put-data-into-datatable-or-dot-net-object-?forum = sqlintegrationservices – Steam
或 - http://www.sqlservercentral.com/Forums/Topic1522969-148-1.aspx – Steam