我正在使用 Visual Studio 2008(在 vb.net 中)中的一个项目。该应用程序需要从 Visual FoxPro 数据库(dbc 文件)中导入数据。不要问为什么 FoxPro。它需要是 vfp 并且数据库每天由另一个应用程序更新;因此,我不能使用任何其他数据库格式。
我通过 OleDb FoxPro 驱动程序(最新版本)连接到数据库。一切都很好(除了速度)。我可以从我需要的所有表(dbf 文件)中导入数据。我将它加载到数据集中,然后对数据集本身进行操作,以免浪费时间重新连接(我只需要在这个阶段读取数据)。
问题是: 当我编译和运行代码时,并非所有记录都显示出来。
但是,当我从Release文件夹(在bin目录中)运行编译版本时,应用程序会显示更多记录。
更令人费解的是,当我在 Visual FoxPro 9.0 中打开同一个数据表文件时,我只能看到在 VS2008 中显示的数据(不是在 Realease 版本中)。但是,如果我在 OpenOffice Calc 中打开 dbf,它会显示所有记录 - 即与我的应用程序的发布版本相同的记录。
我的第一个想法是:如果它没有显示 VFP 9 中的所有内容,那么这些文件肯定是在不同版本的 VFP 中创建的,所以我应该更改我的连接字符串。但是,为什么编译的 Release 版本会显示所有正确的数据?连接字符串必须没问题。
我下载了DBF Viewer Plus以在另一个应用程序中查看我的 dbfs,但它也无法查看所有记录。
我不知道为什么它会这样。这很烦人,因为每次我想测试它时,我都需要构建我的应用程序。
我正在 Windows Vista 上开发。
谢谢你的帮助!