繁体   English   中英

以编程方式生成ADODB记录集

[英]Generating an ADODB recordset programmatically

我正在尝试在.Net中以编程方式生成ADO RecordSet。 这将传递给VB6中的现有遗留代码,该代码已经在使用ADO RecordSet,我不希望更改现有代码。

我成功定义了新RecordSet中的字段

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

在VB6中,可以在没有参数的RecordSet上调用Open之后添加记录:

rs.Open

当我尝试用.net代码调用AddNew时,它告诉我记录集必须是打开的,而我无法调用open,因为它期望使用以下参数:

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

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

我想念什么? 有没有更好的办法?

这些参数在ADODB.Recordset.Open方法中都是可选的。 尝试显式传递文档中指定的默认值。 有一个参数Source ,没有列出明确的默认值。 我想象默认为Nothing 编辑我猜错了,显然是System.Type.Missing

因此解决方案是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM