代码之家  ›  专栏  ›  技术社区  ›  benPearce

以编程方式生成ADODB记录集

  •  2
  • benPearce  · 技术社区  · 15 年前

    我正试图在.NET中以编程方式生成ADO记录集。这将传递给vb6中的现有旧代码,而vb6中已经期望ADO记录集,我不希望更改现有代码。

    我在新记录集中成功地定义了字段

    ADODB.Recordset rs = new Recordset();
                rs.Fields.Append("Height", DataTypeEnum.adInteger, 4, FieldAttributeEnum.adFldMayBeNull, null);
    

    在VB6中,我可以在对不带参数的记录集调用open后添加记录:

    rs.Open
    

    当我试图用.NET代码调用addnew时,它告诉我记录集必须打开,并且我不能调用open,因为它需要以下参数:

    void Open(object Source, object ActiveConnection, CursorTypeEnum CursorType, LockTypeEnum LockType, int Options);
    

    但我正试图以编程方式加载记录集,并且没有任何活动的连接或其他数据源。

    我错过了什么? 有更好的方法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   MarkJ    15 年前

    这些参数都是可选的 ADODB.Recordset.Open 方法。尝试显式传递在 documentation . 有一个参数, Source ,未列出显式默认值。我想违约是 Nothing . 编辑 我猜错了,显然是 System.Type.Missing

    所以解决方案是:

    rs.Open (System.Type.Missing, System.Type.Missing, _
      adOpenUnspecified, adLockUnspecified, -1)