Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net数据集中的表未另存为foxpro表_Vb.net_Oledbconnection - Fatal编程技术网

vb.net数据集中的表未另存为foxpro表

vb.net数据集中的表未另存为foxpro表,vb.net,oledbconnection,Vb.net,Oledbconnection,我在vb.net中有一个数据集。我从VisualFoxPro中阅读了一些表格,并在数据集中添加了表格。将在数据集中创建一个新表。我现在想从vb.net创建一个新的dbf文件,它就是这个新表。 但是SQL不接受源表,并给出了一个错误。 代码的相关部分如图所示 Dim NewTable As String NewTable = "Test.DBF" connstr = "Provider=VFPOLEDB.1;Data Source=" connStr2 =

我在vb.net中有一个数据集。我从VisualFoxPro中阅读了一些表格,并在数据集中添加了表格。将在数据集中创建一个新表。我现在想从vb.net创建一个新的dbf文件,它就是这个新表。 但是SQL不接受源表,并给出了一个错误。 代码的相关部分如图所示

     Dim NewTable As String
     NewTable = "Test.DBF"
     connstr = "Provider=VFPOLEDB.1;Data Source="
     connStr2 = connstr & sourceDir & "\"
     Dim sourceTable As DataTable
     sourceTable = myDS.Tables(3).Copy

     NewTable = sourceDir & "\" & NewTable

     Dim oConn As OleDbConnection
     Dim oCmd As OleDbCommand

     oConn = New OleDbConnection(connStr2)
     oCmd = New OleDbCommand()
     oCmd.Connection = oConn
     oCmd.Connection.Open()
     oCmd.CommandText = "SELECT * FROM " & sourceTable.ToString & " INTO TABLE " &    NewTable
    oCmd.ExecuteNonQuery()
    oConn.Close()
执行oCmd.ExecuteOnQuery时出错 文件out1.dbf不存在。 (out1.dbf是myDS.Tables(3.name)的名称) 那我该怎么做呢?
提前感谢您的帮助。

尝试删除
.dbf
扩展名,只需使用文件名(即,
out1
TEST
)。我已将sourceTable命名为“out1”。数据集中没有.dbf。我确实从考试中辍学了。命令似乎正在查找名为out1的“Real”表。我不知道如何从SQL
sourceTable
中引用dataset中的表是内存中的表,但是命令将在连接字符串指定的目录中查找它。您可能需要创建表,然后选择insert(两个命令而不是一个命令)。不是100%确定在FoxPro中你将如何做到这一点,或者它是否可以做到(尽管我非常确定它可以做到)。是的,这就是问题所在。我想创建一个存在于数据集内存中的表,并将其转换为“物理dbf”文件。