网。我的问题是如何使用vb.net将Access中的数据导出到文本文件。在我的数据库中有Table1,它包含FirstName和LastName,所以我希望将这些数据导出到文本文件中。
我偶然发现了这段代码并运行它并在编译时,但没有任何内容导出到文本文件。有人可以用这个来帮助我吗?
Dim connetionString As String
Dim cnn As OleDbConnection
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Scripts\db.mdb;"
cnn = New OleDbConnection(connetionString)
cnn.Open()
Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO [Text;HDR=No;DATABASE=C:\Scripts\TextFiles].[Result.txt] FROM Table1", cnn)
cnn.Close()
提前致谢!
答案 0 :(得分:1)
这个问题被贬低是因为你可以从网站上找到很多例子。
也许您不知道要搜索哪个关键字? 尝试像#34;数据集到文本框"? 还是什么? Export a C# DataSet to a text file 的更新强> 我知道你可能是vb的新手。我不会给你确切的代码,但告诉你你能做什么。
首先,声明一个dataTable / dataset(我更喜欢DataTable)来保存你的查询结果。
Dim dtresult As DataTable = 'Result from DB
然后遍历数据表行并将数据附加到字符串构建器中(或者您希望构建字符串的任何其他方式) 然后将字符串附加到txt文件中。 这是你可以做的事情。
更新2 好的,就像这样。
Private Sub DataTableToTXT()
Dim connetionString As String
Dim cnn As OleDbConnection
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Scripts\db.mdb;"
cnn = New OleDbConnection(connetionString)
Dim dtResult As New DataTable
cnn.Open()
'Change the query
Dim dataAdap As New OleDbDataAdapter("SELECT * FROM TABLE1", cnn)
dataAdap.Fill(dtResult)
cnn.Close()
'Change the path to your desired path
Dim exportPath As String = "C:\Export\"
Dim exportFileName As String = "data.txt"
If Not Directory.Exists(exportPath) Then
Directory.CreateDirectory(exportPath)
End If
Dim writer As New StreamWriter(exportPath + exportFileName)
Try
Dim sb As New StringBuilder
For Each row As DataRow In dtResult.Rows
sb = New StringBuilder
For Each col As DataColumn In dtResult.Columns
sb.Append(row(col.ColumnName))
Next
writer.WriteLine(sb.ToString())
Next
Catch ex As Exception
Throw ex
Finally
If Not writer Is Nothing Then writer.Close()
End Try
End Sub