Dados pessoais

Daniel Teófilo Vasconcelos

Graduado em Sistemas de Informação pela Faculdade 7 de Setembro

Analista de Sistemas do Grupo 7 de Setembro

Fortaleza - Ce

 

Lendo dados de um arquivo TXT e gravando-os em um Banco de Dados SQL Server 2000

 

Nesse artigo vou explicar como abrir e ler registros de um arquivo TXT e posteriormente gravá-los em uma base de dados SQL Server 2000.

Para a realização desse artigo utilizaremos a linguagem de desenvolvimento C# em uma aplicação Desktop com banco de dados SQL Server 2000.

Crie um arquivo TXT com nome e numero de telefone separados por virgulas e uma base de dados no SQL Server que receba esses dados.

Começaremos abrindo um novo projeto Windows Application no Visual Studio 2003 (Figura 1) e colocaremos o nome do projeto de Leitura.

 

 

 

Acrescente ao seu formulário dois TextBox,  quatro Label e dois Button, nomeie um TextBox para txtArquivo e outro para txtRegistro, um botão para bntAbrir e outro para bntGravar, um dos Label vair servir para o titulo e o outro o nomeie para lblMensagem, tente deixar a aparência conforme a figura abaixo (Figura 2).

 

 

 

Não podemos esquecer das classes que temos que usar no nosso projeto:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Text;

using System.Data.SqlClient;

using System.IO;

 

 

Clique no botão abrir duas vezes e digite o código abaixo:

 

OpenFileDialog AbrirComo = new OpenFileDialog();

DialogResult Caminho;

StreamReader fluxotexto;

string arquivo;

int registro = 0;

                            

AbrirComo.Title = "Abrir Como";

AbrirComo.FileName = "Nome Arquivo";

AbrirComo.Filter = "Arquivos Textos (*.txt)|*.txt";

Caminho = AbrirComo.ShowDialog();

arquivo = AbrirComo.FileName;

 

if (arquivo == " ")

{

            MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK);

      }

else

      {

            fluxotexto = new StreamReader(arquivo);

            string linhatexto = fluxotexto.ReadLine();

                 

            while (linhatexto != null)

                  {

                        linhatexto = fluxotexto.ReadLine();

                        registro = registro + 1;

                  }

            txtArquivo.Text = AbrirComo.FileName;

            fluxotexto.Close();

            txtRegistro.Text = registro.ToString();

            lblMensagem.Text = "Arquivo lido!";

}

 

 

Agora retorne ao formulário e clique duas vezes no botão gravar e digite o código abaixo:

 

if (File.Exists(txtArquivo.Text))

      {

using(StreamReader fluxotexto = new StreamReader(txtArquivo.Text))    

while (true)                            

      {    

            string linhatexto = fluxotexto.ReadLine();

            if(linhatexto == null)

                  {

                        break;

                  }

                 

            string[] quebra = linhatexto.Split(new Char[]{','});

                            

            cadastra(quebra[0],quebra[1]);                            

      }                

                                  

      }

else

      {

            MessageBox.Show("Arquivo não existe");

      }

Abaixo do código do botão gravar digite o código abaixo:

 

private void cadastra(string nomes, string num)

{

string  strConn = "Server=localhost;Database=Sua Database;User ID=Seu usuario;Password=Sua senha";

      SqlConnection conn = new SqlConnection(strConn);

      conn.Open();

      string strSql = "Insert into Telefone (Nome, Numero) Values ('" + nomes + "','" + num + "')";

      SqlCommand cmd = new SqlCommand();

     

      cmd.Connection = conn;

      cmd.CommandText = strSql;

      cmd.CommandType = CommandType.Text;           

                 

      cmd.ExecuteNonQuery();

      lblMensagem.Text = "Arquivo gravado com sucesso!";

                 

}

 

 

Pronto agora temos uma aplicação que vai lê um arquivo TXT e gravará seu conteúdo numa base de dados, espero que tenham gostado deste artigo, até a próxima!