以编程方式生成ADODB记录集

时间:2010-02-19 07:59:42

标签: .net vb6 ado recordset

我试图在.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,并且没有任何活动连接或其他数据源。

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

1 个答案:

答案 0 :(得分:1)

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

所以解决方案是:

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