我有一个WCF服务,它是VB应用程序的外观。我的VB应用程序期望ADODB.Recordset作为我的输入参数。我已经为此方法编写了单元测试,但是我不知道如何手动创建记录集以进行测试。
我想出了这一点(经过长时间的网络搜索):
ADODB.Recordset tempRS = new ADODB.Recordset();
tempRS.Fields.Append("Field1", ADODB.DataTypeEnum.adChar);
tempRS.Fields.Append("Field2", ADODB.DataTypeEnum.adInteger);
但是此记录集中没有数据。或另一种尝试:
ADODB.Recordset temp = new ADODB.Recordset();
temp.Open();
temp.AddNew("Field1", "data for field 1");
temp.AddNew("Field2", "1");
但是我在temp.Open()
声明中说了一个错误The connection cannot be used to perform this operation. It is either closed or invalid in this context.
有人可以指出我正确的方向吗?我已经读过,msdn
但没有找到适合我需要的示例。
提前致谢 !
我亲自编写了C#单元测试,在其中我已成功实例化了一个实数ADODB.Recordset
并用数据填充了它,因此我可以向您保证。
关键是在断开连接模式下打开记录集。这使您的ADO等效于DataTable
,并且不需要db连接。您可以通过将游标类型显式设置为静态来做到这一点,例如
temp.Open(CursorType: CursorTypeEnum.adOpenStatic);
注意:静态游标也可以在连接模式下使用。但是,它们是唯一在断开连接模式下有意义的游标类型,这就是为什么您需要显式指定它的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句