uso VB 2005 express

c'è un ciclo che pesca da un DB SQL Server Express 2005 e piazza i dati in una stringa

Dim strOutput As New System.Text.StringBuilder

strOutput.Append(Trim(dr.GetString(dr.GetOrdinal(" Codice"))) & "§" & Trim(Dato2) & "§"

ecc... ci sono circa una decina di campi che piazzo su questa stringa.
alla fine del record metto un vbcrlf e ricomincia il ciclo per tutti i dati che mi servono

alla fine quando ho tutti i miei dati in strOutput:

Dim tw = IO.File.CreateText("C:\dati.txt")
tw.WriteLine(strOutput.ToString)
tw.Close()

la scrittura del file l'ho provata anche in altro modo con:

Dim obj As IO.StreamWriter
obj = System.IO.File.CreateText("C:\dati.txt")
obj.WriteLine(strOutput.ToString)
obj.Close()

e non cambia nulla. sbaglio sicuramente qualcosa....