【问题标题】:Put data directly into DataTable or dot net object?将数据直接放入 DataTable 或 dot net 对象中?
【发布时间】:2014-01-02 11:59:28
【问题描述】:

目前,我只是创建一个 OLEDB 连接,对其运行查询并将结果集加载到 SSIS 对象中。我不知道这个对象到底是什么。之后,我将这个对象加载到我的 C# 代码中的 DataTable 中。除了做这一切,有没有办法直接将此结果集加载到数据表中?另外,有没有办法从对象本身获取结果集中的行数?现在,我将其加载到数据表中,然后将行数作为 myDataTable.Rows.Count;

谢谢。

【问题讨论】:

标签: c# sql-server sql-server-2005 ssis .net-3.5


【解决方案1】:

解决方案是使用 ADO.NET 连接而不是 OLEDB。如果您使用 ADO.NET 连接,您将获得 ADO.NET DataSet 对象。 DataSet 是 DataTable 的集合。

DataSet 教程的一些链接 -

http://www.dotnetperls.com/dataset

斯科特·米切尔的 tut -

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;

不要为 get 添加对 ADODB 的引用,如下所示 – 解决方案资源管理器 > 参考 > COM 选项卡 > Microsoft ActiveX 数据对象 2.X 库 > 确定。 文件菜单 > 全部保存

【讨论】:

    猜你喜欢
    • 2021-10-28
    • 1970-01-01
    • 2013-05-04
    • 2011-11-23
    • 1970-01-01
    • 2014-08-17
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多