我在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
您需要使用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
为了安全起见,他们不应该在索引之前专门使用表吗?
谢谢修改,
您可以使用异步。将这些行作为单个代码块编写。