Insertar datos de un archivo TXT en VB.net 2005

Te comento que no me resulto, bueno la verdad no lo entiendo muy bien, no puedo encadenar el archivo a la tabla creada.
Tengo el siguiente código:
Private Sub BtnArchBan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnArchBan.Click
Dim sArchivo As String
Dim i As Integer
Dim conn As New ConexionBD
Dim query, query1 As String
Dim cmdDatos, cmdDelete As OleDbCommand
Try
query1 = "DELETE FROM TA_COBROS"
conn.Conectar()
query = "INSERT INTO TA_COBROS (LB_COD_BANCO, LB_NUM_REC, NB_MES, NB_ANIO, NB_MONTO, DT_FECHA)" & _
"VALUES ('BES','90X1234567','02','09',6840,'20052009')"
conn.Conectar()
cmdDatos = New OleDbCommand(query, conn.conndb)
cmdDatos.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString())
conn.Desconectar()
End Try
En vez de introducir uno a uno los registros, quiero leer todo el archivo de texto con más de 5000 registros e introducir a la tabla.
¿Favor de indicarme que es lo que puedo modificar en este código o si hay que modificar todo?
Respuesta
1
ok, entonces lo haremos de otra manera. primero deberas de importar las librerias para el manejo de archivos
imports microsoft.visualbasic
imports microsoft.visualbasic.fileIO
dim lector as TextFieldParser
dim linea as string()
dim valores as string= " "
dim campo as string
lector = new TextFieldParser("archivo.txt")
lector.textfieldtype = fieldtype.delimited
lector.setdelimiters(",")
while not lector.endofdata
try
linea = lector.readfields()
While Not MyReader.EndOfData
Try
  linea = lector.ReadFields()
   For Each campo In Linea
       'aqui podrias hacer una concatenacion de los campos a una tu variable string
        valores = valores & campo
   Next
 Catch ex As MalformedLineException
MsgBox("Linea " & ex.Message)
End Try
'aqui ya podrias hacer el insert a la tabla
variable = "insert into tu_tabla values(" & valores & ")"
End While
De esa manera recorres todo tu archivo texto e insertar linea por linea a tu tabla. Claro omití las instrucciones de conexión a la base de datos y de sqlcommand ahí las incluyes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas