Dim i As Integer
Dim strLine, fileName, fileCSV As String
Dim objFileStream As FileStream
Dim objStreamWriter As StreamWriter
Dim nRandom As Random = New Random(DateTime.Now.Millisecond)
Dim fs As Object, myFile As Object
Dim cnn As OleDbConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\sagmasoft\db1.mdb;User Id=admin;Password=;")
'esto es una copia de como estaba hantes
'"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\sagmasoft\db1.mdb")
'"Data Source=" & Application.StartupPath & _
'Crear un nombre de archivo pseudoaleatorio.
'fileCSV = "t" & nRandom.Next().ToString() & ".txt"
fileCSV = "ofemat.txt"
'fileName = Application.StartupPath & "\sagmasoft\" & fileCSV
fileName = "\sagmasoft\" & fileCSV
'Utilizar FileStream para crear el archivo .csv.
objFileStream = New FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write)
objStreamWriter = New StreamWriter(objFileStream)
'Utilizar un DataReader para conectarse a la base de datos Pubs.
cnn.Open()
Dim sql As String = "select * from horario"
Dim cmd As OleDbCommand = New OleDbCommand(sql, cnn)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()
'Enumerar los nombres de campo y los registros que se van a utilizar para generar el archivo.
For i = 0 To dr.FieldCount - 1
strLine = strLine & dr.GetName(i).ToString & ","
Next
'Escribir información de nombre de campo en el archivo.
objStreamWriter.WriteLine(strLine)
'Volver a inicializar la cadena de datos.
strLine = ""
'Enumerar la base de datos que se utiliza para llenar el archivo.
While dr.Read()
For i = 0 To dr.FieldCount - 1
strLine = strLine & dr.GetValue(i) & ","
Next
objStreamWriter.WriteLine(strLine)
strLine = ""
End While
'Limpiar.
dr.Close()
cnn.Close()
objStreamWriter.Close()
objFileStream.Close()