<< Click to Display Table of Contents >> Gravar um XML a partir de uma base e re-ler o arquivo |
![]() ![]() ![]() |
using System;
using System.Data;
using FirebirdSql.Data.FirebirdClient;
namespace Teste
{
class Program
{
// pega os dados de uma tabela simples de uma base qualquer e salva em arquivo XML
static void CriarXMLFromSQL()
{
string dadosConexao = "User=SYSDBA;Password=masterkey;Database=D:\\Junior\\Celular\\Honey2.fbs;DataSource=localhost;";
FirebirdSql.Data.FirebirdClient.FbConnection con;
con = new FirebirdSql.Data.FirebirdClient.FbConnection(dadosConexao);
con.Open();
if (con.State == ConnectionState.Open)
{
DataSet tabela = new DataSet("tipos");
FbDataAdapter adapter = new FbDataAdapter("select cod_tipo, nom_tipo from tb_tipos order by nom_tipo", con);
adapter.Fill(tabela);
// aqui é o momento de gravação em arquivo
tabela.WriteXml(@"c:\tipos.xml");
}
else
Console.WriteLine("Não Conectou");
con.Close();
}
static void LerXMLFromFile()
{
DataTable dts = new DataTable("Table"); // exatamente assim com T maiúsculo
dts.Columns.Add("COD_TIPO"); // sempre deve ser maiúsculo
dts.Columns.Add("NOM_TIPO");
// le o conteudo do xml
dts.ReadXml(@"c:\tipos.xml");
// maneira de percorrer 1
foreach (DataRow linha in dts.Rows)
{
Console.WriteLine(linha["cod_tipo"].ToString() + " - " + linha["nom_tipo"].ToString());
}
Console.WriteLine("---------");
Console.WriteLine("---------");
// maneira de percorrer 2
DataRow row;
for (int i = 0; i < dts.Rows.Count; i++)
{
row = dts.Rows[i];
Console.WriteLine(row["cod_tipo"] + " - " + row["nom_tipo"]);
}
}
static void Main(string[] args)
{
CriarXMLFromSQL();
LerXMLFromFile();
Console.ReadLine();
}
}
}