Dados pessoais
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
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 (
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!