【问题标题】:connecting Visual Fox Pro to MySql database将 Visual Fox Pro 连接到 MySql 数据库
【发布时间】:2023-03-27 20:35:02
【问题描述】:

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

【问题讨论】:

    标签: mysql visual-foxpro


    【解决方案1】:

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

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

    三种主要方法是:

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

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

    为了让您开始,因为您可能希望使用 SPT 进行测试(例如在命令行窗口中),以下是该方法的基础知识:

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

    • 您需要在指示处填写您的用户名和密码。 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) 中了解所有三种远程数据方法。确定要使用的方法后,您可以提出具体问题。

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多