Faccruz 0 Denunciar post Postado Março 19, 2009 Boa tarde Como importo dados de um arquivo TXT para o MySQL usando o VB.NET? os dados estão separados por ; (ponto-e-virgula) Compartilhar este post Link para o post Compartilhar em outros sites
Duvanir.Trigo 0 Denunciar post Postado Março 19, 2009 Olá Faccruz. Precisei certa vez fazer uma rotina desse tipo aqui no trabalho. To mandando pra você dar uma olhada se te ajuda. Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdImporta.Click Dim con As New SqlConnection(" < string de conexão para o seu banco >") Dim Arquivo As String Arquivo = "C:\SeuArquivo.txt" Dim arquivoStream As StreamReader Dim delimitador As String = ";" Dim i As Integer Dim contador As Integer con.Open() Try arquivoStream = File.OpenText(Arquivo) Catch ex As Exception lblerro.Text = " Arquivo não encontrado." Exit Sub End Try lblerro.Text = " NÃO ocorreram Erros." contador = 0 Do While Not arquivoStream.EndOfStream contador = contador + 1 Dim conteudo As String = arquivoStream.ReadLine Dim separar = Split(conteudo, delimitador) For i = 0 To UBound(separar) lbltexto.Text = conteudo lblresultado.Text &= separar(i) Next Dim insertSQL As String insertSQL = "INSERT INTO tblMCGr (" insertSQL &= "codcli, cliente, idmes, mes, cod, descricao, vlaj, rli, " insertSQL &= "mcgtot, ano, mesrpt) " insertSQL &= "VALUES (" insertSQL &= "@codcli, @cliente, @idmes, @mes, @cod, @descricao, @vlaj, @rli, " insertSQL &= "@mcgtot, @ano, @mesrpt);" Dim cmd As New SqlCommand(insertSQL, con) cmd.Parameters.AddWithValue("@codcli", separar(0)) cmd.Parameters.AddWithValue("@cliente", separar(1)) cmd.Parameters.AddWithValue("@idmes", CInt(separar(2))) cmd.Parameters.AddWithValue("@mes", separar(3)) cmd.Parameters.AddWithValue("@cod", separar(4)) cmd.Parameters.AddWithValue("@descricao", separar(5)) cmd.Parameters.AddWithValue("@vlaj", CDbl(separar(6))) cmd.Parameters.AddWithValue("@rli", CDbl(separar(7))) cmd.Parameters.AddWithValue("@mcgtot", CDbl(separar(8))) cmd.Parameters.AddWithValue("@ano", CInt(separar(9))) cmd.Parameters.AddWithValue("@mesrpt", separar(10)) cmd.ExecuteNonQuery() Loop lblresultado.Text = "Foram Inseridos " & contador & " registros." con.Close() Arquivo = "" arquivoStream.Close() MsgBox("ARQUIVO IMPORTADO COM SUCESSO") End Sub Abraço. Att. Duvanir Trigo Compartilhar este post Link para o post Compartilhar em outros sites