[C#] using System; using System.Data; using System.Data.OleDb; using System.IO; using System.Text; using System.Web; public static void WriteToTextFile(string separator, string filename) { string ConnStr = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=|DataDirectory|Northwind.mdb;"; string query = "SELECT * FROM Customers"; string sep = separator; StreamWriter sw = new StreamWriter(HttpContext.Current.Server.MapPath(filename)); using (OleDbConnection Conn = new OleDbConnection(ConnStr)) { using (OleDbCommand Cmd = new OleDbCommand(query, Conn)) { Conn.Open(); using (OleDbDataReader dr = Cmd.ExecuteReader()) { int fields = dr.FieldCount - 1; while (dr.Read()) { StringBuilder sb = new StringBuilder(); for (int i = 0; i <= fields; i++) { if (i != fields) { sep = sep; } else { sep = ""; } sb.Append(dr[i].ToString() + sep); } sw.WriteLine(sb.ToString()); } } } } }
[VB] Imports System Imports System.Data Imports System.Data.OleDb Imports System.IO Imports System.Text Imports System.Web Public Shared Sub WriteToTextFile(ByVal separator As String, ByVal filename As String) Dim ConnStr As String = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=|DataDirectory|Northwind.mdb;" Dim query As String = "SELECT * FROM Customers" Dim sep As String = separator Dim sw As New StreamWriter(HttpContext.Current.Server.MapPath(filename)) Using Conn As New OleDbConnection(ConnStr) Using Cmd As New OleDbCommand(query, Conn) Conn.Open() Using dr As OleDbDataReader = Cmd.ExecuteReader() Dim fields As Integer = dr.FieldCount - 1 While dr.Read() Dim sb As New StringBuilder() Dim i As Integer = 0 While i <= fields If i <> fields Then sep = sep Else sep = "" End If sb.Append(dr(i).ToString() + sep) i += 1 End While sw.WriteLine(sb.ToString()) End While End Using End Using End Using End Sub
And in both cases, the method is called by simply passing the separator and filename in as strings:
WriteToTextFile(",", "vfile.txt")