【发布时间】:2017-01-06 14:56:40
【问题描述】:
我有一个旧系统,我必须从中读取数据。它将数据存储在旧的 Visual FoxPro DBF 表中。
在 C# 中,我使用 adodb.dll 和 Provider=VFPOLEDB.1 来获取数据,到目前为止效果很好。
当我选择以下(它的索引)时:
select * from tableXYZ where tab_f1+STR(tab_f2,10)+STR(tab_f3,3)+STR(tab_f4,3)+STR(tab_f5,3) = "AR1234567890"
我在 Visual FoxPro 中得到一个快速的结果(使用索引),“AR”是 tab_f1,“1234567890”是 STR(tab_f2,10)。 tab_f3、tab_f4 和 tab_f5 似乎被“忽略”了,即使在表格中我得到了所有行,无论 f3 到 f5 的内容如何。
在 C# 中与 ADODB 连接相同的选择不返回结果集。有没有办法让 VFPOLEDB 也忽略后面的三个字段,还是我只需要 tab_f1+tab_f2 的索引?
【问题讨论】:
标签: c# select indexing foxpro dbf