我想从已填充数据的现有ADODB.Recordset对象中删除列/字段。确实存在Recordset.Fields.Delete
方法:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675290%28v=vs.85%29.aspx
...但如果在填充的Recordset上调用,则会收到错误:“不允许操作”。
以上链接记录了这一点:
在打开的Recordset上调用Fields.Delete方法会导致a 运行时错误。
执行Recordset.Close完全清除字段集合,这样就行不通了 - 看起来这个方法几乎只存在于处理手工和手动填充的记录集而不是从数据库中检索的记录集?
有没有人知道这种方式是可行的,即使是一个相当高效的复制到新记录集实例的方法也会比什么都好。
注意:请耐心指出“你不应该这样做,你应该只从数据库中检索你真正想要的列!!!”我很清楚这一点。
更新:至于原因:我有这些现有极其复杂的数据集,我无法访问物理创建它们的源代码,我只是想放弃一些来自他们的列,因为他们弄乱了正在查看他们的UI。我完全不关心.1毫秒的时间或.00000136通过将这些不需要的列放回然后丢弃它们而浪费了多少电力。