【发布时间】:2009-11-21 18:02:14
【问题描述】:
我正在使用 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 上开发。
感谢您的帮助!
【问题讨论】:
标签: vb.net visual-studio-2008 oledb dbf visual-foxpro