将Visual Foxpro连接到MySql数据库

时间:2011-05-04 05:13:54

标签: mysql visual-foxpro

我将visual foxpro DBF转换为mysql,我需要将vfp代码直接连接到mysql数据库。请帮助。谢谢

1 个答案:

答案 0 :(得分:1)

有许多方法可以从VFP访问服务器数据库中的数据,但我不确定您是否会调用其中任何一个直接连接到服务器数据库的方法。具体来说,您不能直接对服务器数据库使用USE和REPLACE等命令,也不能将表单控件直接绑定到服务器数据。

无论使用哪种方法,都可以将服务器中的一些数据拉入VFP中的光标,对光标进行操作,然后在适当的情况下将更改保存回服务器。

三种主要方法是:

1)远程视图 - 使用此方法,可以将SQL查询存储在数据库中。要运行查询并从服务器提取数据,请使用远程视图。 2)SQL传递(SPT) - 使用此方法,您可以使用SQLEXEC()命令将SQL命令发送到服务器,并获得结果。 3)CursorAdapter类 - 使用这种方法,您可以设置一个类来描述如何从服务器获取数据,当您调用CursorFill()方法时,您将获得一个充满数据的游标。

您应该选择其中一种方法并在整个应用程序中使用它。它们各有利弊。

为了帮助您入门,因为您可能希望将SPT用于测试目的(例如在命令窗口中),这是该方法的基础:

首先,您必须连接到数据库。您可以使用SQLConnect()或SQLStringConnect()函数执行此操作。例如:

  • 您需要在指定时填写您的用户ID和密码。 nHandle = SQLStringConnect(“driver = {MySQL ODBC 5.1 Driver}; SERVER = localhost; UID =; pwd =”)

nHandle的正值表示成功。一旦有了句柄,就可以使用它来发送其他命令。例如:

nSuccess = SQLEXEC(m.nHandle,“SELECT First,Last FROM Customers WHERE State ='PA'”,“csrPACustomers”)

告诉MySQL执行您传入的查询并将结果放入csrPACustomers中。 nSuccess表示成功或失败。

完成后,使用SQLDisconnect()关闭连接:

调用SQLDisconnect(m.nHandle)

您可以在VFP帮助文件和VFP Wiki(http://fox.wikis.com)上阅读有关远程数据的所有三种方法。一旦确定要使用哪种方法,就可以提出具体问题。