0
这应该很容易,看起来像我让自己太困惑了。将各种列类型的数据表转换为字符串数组的更好方法
我从数据库中得到一个表,数据范围从varchar到int到Null值。转换到这一点,我已经有一个制表符分隔文件的廉价和肮脏的方式是这样的(皱缩保留空间,丑陋保持看齐,与原):
da.Fill(dt)
' da - DataAdapter '
' dt - DataTable '
Dim lColumns As Long = dt.Columns.Count
Dim arrColumns(dt.Columns.Count) As String
Dim arrData(dt.Columns.Count) As Object
Dim j As Long = 0
Dim arrData(dt.Columns.Count) As Object
For i = 0 To dt.Rows.Count - 1
arrData = dt.Rows(i).ItemArray()
For j = 0 To arrData.GetUpperBound(0) - 1
arrColumns(j) = arrData(j).ToString
Next
wrtOutput.WriteLine(String.Join(strFieldDelimiter, arrColumns))
Array.Clear(arrColumns, 0, arrColumns.GetLength(0))
Array.Clear(arrData, 0, arrData.GetLength(0))
Next
这不仅是丑陋和低效,它也让我很紧张。此外,如果可能的话,我希望避免通过表的臭名昭着的双循环。我真的很感谢一个干净而安全的重写这篇文章的方法。
我喜欢使用的方法here - 特别是试图解决我遇到的同样的问题,但是当我直接将其应用于我的案例时,它崩溃了。
惊人!不仅这正是我想到的,但无法实现,它从第一次运行实际上起作用。你,先生,现在是我的个人英雄:) – Vlad 2010-06-08 20:38:09