Exportar .sdf a .txt en visual basic .net

Disculpa desarrollo en visual studio 2005 en el lenguaje visual basic, con una aplicación para windows ce 5.0 tengo el dispositivo y ya logro conectar y hacer un programa creando base de datos conectado a sql server compact edition, el problema aquí es que quisiera que lo que hay en la base de datos .SDF convertir el contenido a .txt si se pudiera desde el programa o algo estaría muy bien, investigue sobre como podría hacerle desplegando todo el contenido en un datagrid y de ahí querer ir escribiendo todo en un .txt pero no encuentro nada relacionado a hacer eso quisiera que me ayudaras a hacerlo :( t mando esa parte de código que podría servir solo es la desplegada al datagrid por favor ayudame! Me urge hacerlo amigo
Dim a As New Data.SqlServerCe.SqlCeConnection("Data Source = .\Program Files\otroproyecto\capturas.sdf; Password=; Encrypt DataBase=False;")
a.Open()
view ="select ID,ZAFRA,NUMERO,LOTE,LABOR from captura_valores"
If (Not view.Trim.Equals("")) Then
Try
Adapt =New SqlCeDataAdapter(view, a)
Adapt.Fill(Table)
Me.DataGrid1.DataSource = Table
Catch ex As Exception
End Try
End If
a.Close()
'Table.Rows.Clear()

3 respuestas

1
Respuesta de
¿Lo quieres hacer a nivel de visual o de SQL?
Que tal amigo, lo quiero hacer a nivel de visual por favor si me puedes agregar la porción de código que a lo mejor me faltaría no se si tu idea también seria recorrer el datagrid y armar el archivo .txt si se puede así por favor incrustame el código necesario de verdad te lo agradecería demasiado experto!
Hola mira te tengo esta solución, asumiendo que el objeto al que te refieres como Table, es un Datatable...
Donde dice Ruta debes de poner la ruta donde quieres que se almacene tu archivo.
Dim a As New Data.SqlServerCe.SqlCeConnection("Data Source = .\Program Files\otroproyecto\capturas.sdf; Password=; Encrypt DataBase=False;") 
a.Open() 
view ="select ID,ZAFRA,NUMERO,LOTE,LABOR from captura_valores" 
If (Not view.Trim.Equals("")) Then 
Try 
Adapt =New SqlCeDataAdapter(view, a) 
Adapt.Fill(Table)
Dim i, k As Integer
Dim aux As String = ""
For i = 0 To Table.Rows.Count - 1
For k = 0 To 4
aux = aux + Table.Rows(i).Item(k) + ", "
Next
Dim objStreamWriter As StreamWriter
objStreamWriter = File.AppendText("Ruta\NombreArchivo.txt")
objStreamWriter.WriteLine(aux)
objStreamWriter.Close()
aux = ""
Next
MsgBox("Se escribio con exito")
Me.DataGrid1.DataSource = Table 
Catch ex As Exception 
End Try 
End If 
a.Close() 
Table.Rows.Clear()
Cualquier cosa me cuentas...
Saludos,
Cristian Perez.
Añade un comentario a esta respuesta
1
Respuesta de
'Te paso este fragmento de De código que me facilito un amigo, espero te de una idea y 'te sirva, saludos y bendiciones =)
Private Sub imprime_txt()
Try
Dim sw As New System.IO.StreamWriter("C://TEmporal.txt")
For i As Integer = 0 To dg1.RowCount - 1
Dim texto As String = "|" & dg1.Rows(i).Cells("g_rfc").Value
texto +=  dg1.Rows(i).Cells("Captura_Valores").Value
sw.WriteLine(texto)
Next
sw.Close()
end sub
Dim a As New Data.SqlServerCe.SqlCeConnection("Data Source = .\Program Files\otroproyecto\capturas.sdf; Password=; Encrypt DataBase=False;")
a.Open()
view ="select ID,ZAFRA,NUMERO,LOTE,LABOR from captura_valores"
If (Not view.Trim.Equals("")) Then
Try
Adapt =New SqlCeDataAdapter(view, a)
Adapt.Fill(Table)
Me.DataGrid1.DataSource = Table
imprime_txt() ' aqui mandas llamar la rutina
Catch ex As Exception
End Try
End If
a.Close()
Añade un comentario a esta respuesta
1
Respuesta de
Buenos días... eh entendido que quieres pasar todos los datos de tu base de datos a un .txt
Para hacerlo deberías conectarte a tu base de datos, recorrerla y mientras la recorres agregar los datos a un .txt
Primero que nada debemos Importar:
Imports System.IO
Tenemos 3 variables (asumo que no tengo que explicar como conectarme a una base de datos):
Con (la variable de conexión a la base)
Cmd (la variable command que utilizaremos para enviar consultas)
Read (la variable que utilizaremos para recorrer la base de datos)
Con.ConnectionString = "Tu cadena de conexion"
Cmd.CommandText = "SELECT * FROM Tabla"
Cmd.Connection = Con
Con.Open()
Read = Cmd.ExecuteRead();
If File.Exists("path_de_tu_archivo") Then
   File.Delete("path_de_tu_archivo")
End If
Dim archivo As New StreamWriter("path_de_tu_archivo.txt")

Do While Read.Read
   archivo.WriteLine(Read.Item("Nombre_de_Tu_Campo"))
Loop
archivo.Close();
Con.Close();
Te dejo un adjunto con el cual podrás probar. Te aclaro que uso Acces en el ejemplo.
http://www.megaupload.com/?d=AY3Q629N
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema .Net o hacer tu propia pregunta: