【问题标题】:FoxPro Command to VB.NETFoxPro 命令到 VB.NET
【发布时间】:2020-01-31 06:59:04
【问题描述】:

我正在 Visual Studio 2017 中运行 FoxPro 命令。 我要执行第二个命令文本先决条件到第一个,依此类推。有什么帮助吗?

Dim a = "Provider=VFPOLEDB.1;Data Source=C:\temp;Extended Properties=dBase IV"

Using cn As New OleDbConnection(a)
    cn.Open()

    Dim cmd As New OleDbCommand
    cmd.Connection = cn
    cmd.CommandText = "use C:\temp\products"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "INDEX ON productid TAG productid"
    cmd.ExecuteNonQueryAsync()

    cmd.CommandText = "INDEX ON prodname TAG prodname"
    cmd.ExecuteNonQueryAsync()

    cn.Close()
End Using

【问题讨论】:

  • 将这些命令写成一段代码并将其用作 ExecScript() 的参数。

标签: vb.net indexing command visual-foxpro foxpro


【解决方案1】:

您需要使用 Visual FoxPro ExecScript() 命令并且不要异步执行这些命令。

Dim a = "Provider=VFPOLEDB.1;Data Source=C:\temp;Extended Properties=dBase IV"

Using cn As New OleDbConnection(a)
    cn.Open()

    Dim cmd As New OleDbCommand
    cmd.Connection = cn
    cmd.CommandText = "execscript(['use C:\temp\products excl'])"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "execscript(['INDEX ON productid TAG productid'])"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "execscript(['INDEX ON prodname TAG prodname'])"
    cmd.ExecuteNonQuery()

    cn.Close()
End Using

【讨论】:

  • 为了安全,他们不应该在索引之前专门使用该表吗...
  • 感谢修改,
  • 你可以使用异步。将这些行写成一个单独的代码块。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多