[英]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.