我想在C#中迁移vb6代码,我的问题是:如果DataSet C#中有等效的RecordSet.bookmark
等效的VB6代码:
pos = rsADO.Bookmark
rsADO是ADODB.Recordset类型
答案 0 :(得分:4)
没有。但是你可以通过其他方式获得相同的结果。
ADO Recordsets是所谓的“光标”。他们有一个“当前记录”,以及将当前记录设置在表格,下一个,最后一个和之前记录的顶部的方法。
DataSet(以及大多数以其他方式访问C#中的结构数据)都不是游标。特别是DataSet本质上是内存中的数组,因此在DataSet中没有“当前记录”这样的东西,并且没有与Bookmark相同的东西。
但是,您可以引用行对象并保存它。例如,像:
DataRow row = myDataset.Tables[0].Rows[15];
这与保持ADO书签具有相同的效果。使用该引用作用于该特定行。