Vb.net 如何将foxpro 6表格插入visual studio 2017?

Vb.net 如何将foxpro 6表格插入visual studio 2017?,vb.net,visual-studio,visual-foxpro,Vb.net,Visual Studio,Visual Foxpro,最近我想更新我的旧应用程序,它是用foxpro6编写的。现在我想用VB.net做一个新的。背后的原因是,我的项目是一个POS系统为我叔叔的商店。因为这台电脑太旧了,随时可能会坏掉,我需要更新它并与Windows 10兼容,因为这台新电脑使用的是Windows 10。这就是为什么我需要制作一个新的应用程序,但是当我在Visual Studio中使用链接服务(数据源>添加新数据源)时,它显示我的表是空的,这是错误的,我的表充满了数据。那么,如何才能成功地将表链接到VisualStudio 连接字符串

最近我想更新我的旧应用程序,它是用foxpro6编写的。现在我想用VB.net做一个新的。背后的原因是,我的项目是一个POS系统为我叔叔的商店。因为这台电脑太旧了,随时可能会坏掉,我需要更新它并与Windows 10兼容,因为这台新电脑使用的是Windows 10。这就是为什么我需要制作一个新的应用程序,但是当我在Visual Studio中使用链接服务(数据源>添加新数据源)时,它显示我的表是空的,这是错误的,我的表充满了数据。那么,如何才能成功地将表链接到VisualStudio

连接字符串
Dsn=inventory

PS:我使用了正确的odbc驱动程序,并对其进行了多次测试,然后静止不动


谢谢大家。

使用VFPOLEDB进行连接。使用VFPOLEDB,您只需使用带有连接字符串的OLEDB连接,如:

new OleDbConnection("Provider=VFPOLEDB;Data Source=c:\your data folder")
还要检查Tom Brother在codeplex上的LinqToVFP、VFP EF提供程序和其他提供程序


恕我直言,使用windows 10不是在VB.Net中重写VFP应用程序的好理由。无论如何,如果您想这样做,那么为什么不将您的数据库后端更改为其他类似postgreSQL、MySQL、SQL Server。。。等等。

我找到了一个解决方案,您可以使用代码而不是向导来连接FoxPro表,下面是解决方案

首先使用连接字符串连接表,然后为表设置DataAdapter和DataSet,最后填充DataAdapter并将其放入DataGridView

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim connectionString As String = "provider=vfpoledb.1;data source=your location"
    Dim myConnection As New System.Data.OleDb.OleDbConnection(connectionString)
    myConnection.Open()
    Dim dataAdapter As New OleDbDataAdapter("FoxPro SQL cmd", myConnection)
    Dim dataSet As DataSet = New DataSet

    dataAdapter.Fill(dataSet, "Q")
    DataGridView1.DataSource = dataSet.Tables("Q")
End Sub

希望这能有所帮助。

有点离题,但如果您有VS2017,是什么促使您使用VBA开发新应用程序?也就是说,如果没有更具体的信息,我认为你的问题无法得到回答。很抱歉,我漏掉了一些东西,原因是我的项目是我叔叔商店的POS系统。因为这台电脑太旧了,随时可能会坏掉,我需要更新它并与Windows 10兼容,因为这台新电脑使用的是Windows 10。所以,这就是为什么我需要制作一个新的应用程序。我的观点是,使用VS2017,您可以使用SQL Server Express后端编写一个独立的可执行文件,并使用所有当前技术(WPF UI、实体框架等)。。。一个用VBA编写的POS系统(因此托管在什么Excel?Access?)似乎比一个.net解决方案要复杂得多-如果你坚持使用VBA,我强烈建议你使用我的加载项,这样你至少可以为这个庞大的项目进行单元测试和适当的IDE工具。对不起,我犯了一个大错误。我一直在使用VB.net。对不起,噢。好啊不管怎么说,你添加了那个背景故事是很好的,但是你的帖子仍然缺少一些重要的细节,这些细节会使你的文章有责任感。你有什么错误吗?连接建立了吗?您可以看到这些表,但看不到它们的数据?VisualStudio只是一个IDE;您是否有连接到foxpro数据的实际代码?您能否包含一段连接并再现问题的代码?首先,谢谢你的回答。对不起,我的问题迟了,我想问你一些关于我的编码的问题。我使用另一种方法连接我的dbf,如:
Dim ConnectionString As String=“Provider=vfpoloedb.1;Data Source=mypath\;Collating Sequence=machine”Dim dbconnect As New OleDb.OleDbConnection(ConnectionString)dbconnect.Open()Application.DoEvents()
,但当我想使用添加新数据源向导时,这和我上面所说的结果是一样的。这个方法不适合foxpro表吗?不幸的是,我不使用向导,因此我不知道。我主要使用LinqToVFP(Tom Brothers-codeplex)和无数据集的直接编码(OLEDBConnection,OleDbCommand)。