Aug 27

Pessoal,

Vou mostrar aqui como ficou a parte de acesso aos dados nos projetos gerados com o novo GAS.

Pra inicio de conversa nós estamos utilizando o ADO.NET 2.0 para fazer a camada de acesso a dados da alicação.

Para quem já conhece um pouco não existe mais o conceito de RECORDSET do antigo ADO, agora trabalhamos com DataSet, que é uma especie de Banco

relacional na memoria.

Nossa classe de dados foi implementada pensando muito no conceito de reutilização e abstração do ADO.NET, pra facilitar a vida dos nossos desenvolvedores.

veja , numa situação normal para acessar uma tabela do Banco de dados com ADO.NET puro você faria o seguinte código:

using (SqlConnection cn = new SqlConnection(SUA STRING DE CONEXAO))
{
    // Cria o Command e o Adapter
    SqlCommand cmd = new SqlCommand(sqlAllCustomers, cn);
    SqlDataAdapter adpt = new SqlDataAdapter(cmd);
    // Cria e preenche o DataTable
    DataTable dtCustomers = new DataTable("Customers");
    adpt.Fill(dtCustomers);
    DataSet ds = new DataSet();
    ds.Tables.Add(dtCustomers);
    adpt.SelectCommand = new SqlCommand("SELECT * FROM Orders", cn);
    adpt.Fill(ds, "Orders");
    // Cria o DataTableReader (está desconectado)
    using(DataTableReader dtRdr = ds.CreateDataReader())
    {
        do
        {
            Console.WriteLine("******************************");
            while (dtRdr.Read())
            {
                Console.WriteLine(dtRdr.GetValue(0).ToString());
            }
        }
        while (dtRdr.NextResult());
    }
}

veja são varias linhas para pegar dados de uma tabela.

Agora veja um exemplo usando a classe do GAS.

DataSet ds = dao.RunSql("Select [Nome do Fornecedor] from Fornecedores WHERE [Codigo do Fornecedor] = " + dao.ToSql(Fields[FieldName].GetFormattedValue(""), FieldType.Text));

if (ds.Tables[0].Rows.Count > 0)

{

    return ds.Tables[0].Rows[0]["Nome do Fornecedor"].ToString();

}

note nos temos um objeto "dao", que já tem toda a configuração do seu bando de dados, como string de conexao , tipo  do banco etc.. , e este objeto ja tem os metodos para retornar

um DataSet como no exemplo usamos o RunSql.

isso abstrai do desenvolvedor a necessidade de criar SQLCOMMANDS, STRINGCONECTIONS, etc...

é isso ai, na próxima mais novidade....

 

 

Tags:

Add comment




biuquote
Loading