vb.net数据集中的表未另存为foxpro表
我在vb.net中有一个数据集。我从VisualFoxPro中阅读了一些表格,并在数据集中添加了表格。将在数据集中创建一个新表。我现在想从vb.net创建一个新的dbf文件,它就是这个新表。 但是SQL不接受源表,并给出了一个错误。 代码的相关部分如图所示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 =
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”表。我不知道如何从SQLsourceTable
中引用dataset中的表是内存中的表,但是命令将在连接字符串指定的目录中查找它。您可能需要创建表,然后选择insert(两个命令而不是一个命令)。不是100%确定在FoxPro中你将如何做到这一点,或者它是否可以做到(尽管我非常确定它可以做到)。是的,这就是问题所在。我想创建一个存在于数据集内存中的表,并将其转换为“物理dbf”文件。