Gravar um XML a partir de uma base e re-ler o arquivo

<< Click to Display Table of Contents >>

Navigation:  XML >

Gravar um XML a partir de uma base e re-ler o arquivo

Previous pageReturn to chapter overviewNext page

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();

        }

    }

}