Команда FoxPro для VB.NET - PullRequest
       79

Команда FoxPro для VB.NET

0 голосов
/ 31 января 2020

Я запускаю команду FoxPro в Visual Studio 2017. Я хочу выполнить вторую команду с текстом, обязательным к первой и т. Д. Любая помощь?

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

1 Ответ

1 голос
/ 31 января 2020

Вам нужно использовать команду 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
...