[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")