我試圖從MS Access中導入一些數據到文本文件。 Access數據庫有3列。學生姓名,作業名稱和標記得分。但是,當我做下面的代碼中的數據是這樣的:從MS Access導入數據到文本文件
John Cena John Cena Assignment Submission System JohnCenaMNUAssignment Submission System75 JohnCenaMNUAssignment Submission System75 Mark MarkGussing Game MarkGussing Game80 MarkGussing Game80
我想有學生姓名,分配名稱和商標之間打進一些空間。此外還有兩個學生信息之間的額外線路。這是我試過的代碼,但它沒有給出想要的結果:
Private Sub DataTableToTXT()
Dim connetionString As String
Dim cnn As OleDbConnection
connetionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=.\\reportcard.accdb;Persist Security Info=False"
cnn = New OleDbConnection(connetionString)
Dim dtResult As New DataTable
cnn.Open()
'Change the query
Dim dataAdap As New OleDbDataAdapter("SELECT * FROM reports", cnn)
dataAdap.Fill(dtResult)
cnn.Close()
'Change the path to your desired path
Dim exportPath As String = "D:"
Dim exportFileName As String = "data.txt"
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))
writer.WriteLine(sb.ToString())
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
不要盲目地追加讀取到字符串生成器的DB數據。檢查數據並根據需要添加空格,或者如果累積的文本全部爲空格或空格,則不寫一行。我不確定後者會如何發生,因爲這意味着一個空的DB行。 – Plutonix