0

テキスト ファイルを読み取り、ファイル内の列に基づいて動的にデータ テーブルを作成するプログラムがあります。

これはうまくいくようです。

次に、テーブルに追加するデータ行を作成して、テキスト ファイルの残りの部分を読み取ろうとします。以下のコードを使用していますが、うまくいきません。

プレーンコピーをクリップボードプリントに表示しますか?

            Dim strFieldData As New ArrayList  
            Dim obj As New Object()
            'this code give me 12 separate elements  
            strFieldData = SplitDelimitedLine(strLineOfFile, ",", "|")  

            Dim dr As DataRow  

            For i As Integer = 0 To strFieldData.Count - 1  
                dr = DataForSQLTable.NewRow()  
                dr.ItemArray(i) = strFieldData.Item(i)  
            Next
            'however when I look at the value of dr.itemarray I see System.DBNull for all the fields  
            DataForSQLTable.Rows.Add(dr)  

私は明らかにトリックを見逃しています。誰でも私を助けてもらえますか?

4

1 に答える 1

2

最後の項目のみを追加しているようです。加算行を for ループ内に移動する必要があります。

For i As Integer = 0 To strFieldData.Count - 1
    Dim dr as DataRow = DataForSQLTable.NewRow() 
    dr.ItemArray(i) = strFieldData.Item(i)
    DataForSQLTable.Rows.Add(dr) 
Next
于 2012-05-15T10:39:38.477 に答える