Desenvolvimento - C#

Lendo e Gravando dados de um arquivo TXT em um Banco de Dados SQL Server 2000

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

por Daniel Teófilo Vasconcelos



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 vírgulas 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.

Figura 1

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).

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 ler um arquivo TXT e gravará seu conteúdo numa base de dados, espero que tenham gostado deste artigo, até a próxima!

Daniel Teófilo Vasconcelos

Daniel Teófilo Vasconcelos