Almacenar Datos de un archivo txt y guardar en una base de datos con VB

publicado por: Anonymous

Bueno le comento que estoy realizando extraer los datos de un archivo txt y almacenarlo en una tabla para ellos estoy usando las herramientas de :

  • Sql server
  • Visual Basic Window Form

Dentro de mi tabla solo tiene estos campos:

  • Id int identity(1,1) not null
  • numerocredito [nvarchar] (50) NOT NULL

dentro de mi codigo este :

  Dim objReader As New StreamReader(OpenFileDialog.FileName)
        Dim sLine As String = ""
        Dim arrText As New ArrayList()

        Do
            sLine = objReader.ReadLine()
            If Not sLine Is Nothing Then

                arrText.Add(sLine)
            End If
        Loop Until sLine Is Nothing

        objReader.Close()
        Using Con As New SqlConnection(ConfigurationManager.ConnectionStrings("conexion").ConnectionString)
            Con.Open()
            Using command As New SqlCommand("RegistrarDatosTxt", Con)

                command.CommandType = CommandType.StoredProcedure
                command.Parameters.AddWithValue("@opt", 1)

                For Each sLine In arrText
                    command.Parameters.Add("@numerocredito", SqlDbType.VarChar, 30).Value = sLine

                    command.ExecuteNonQuery()
                    MessageBox.Show("Se Generaron Correctamente los Numero de Creditos", "..::Aviso del Sistema::..")
                Next
                Dim frm As New Form2
                frm.Show()

            End Using
        End Using

Le comento que si guarda informacion de un archivo txt pero solo si tiene un linea, pero si tiene mas de dos linea como este:

introducir la descripción de la imagen aquí

no se registra y me indica el error que tiene mas campos establecidos. Mi pregunta es como pudiera guardar varios lineas de txt en mi tabla ?

solución

Crea un comando por cada linea leída y ejecuta. Tal como lo hice aquí.
introducir la descripción de la imagen aquí

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *