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