asp.net.data

13

Click here to load reader

Upload: helder-oliveira

Post on 30-May-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Asp.net.data

ASP .NET – Casos Práticos

C# Programação em C#

Hélder Oliveira [email protected]

Page 2: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Sumário

• ConnectionString• Acesso às configurações• Ligação à Base de Dados• DataBind• Repeater

• Container.DataItem• Databinder.Eval• DataList• GridView• DetailsView

Page 3: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# ConnectionString

• Deve ser definida no ficheiro app.config – característico em aplicações web ASP .NET:

• Exemplo:

<connectionStrings> <add name="defaultConnectionString"

connectionString="Data Source=LOCALHOST\SQLEXPRESS;Initial Catalog=dbtest;Integrated Security=True" />

</connectionStrings>

Page 4: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Acesso às configurações

• As configurações colocadas no ficheiro app.config podem ser facilmente acedidas através do uso da classe ConfigurationManager

• Útil para aceder às Connection Strings aí definidas:

ConfigurationManager.ConnectionStrings["defaultConnectionString"].ConnectionString

Page 5: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Ligação à Base de Dados

• É normalmente estabelecida com base numa ConnectionString definida no ficheiro app.config

• Exemplo:SqlConnection connection = new SqlConnection([...])

• Usa-se o método Open e Close antes e depois de aceder à base de dados, respectivamente.

Page 6: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# DataBind

• Este é um processo usado nalguns controlos para associar um conjunto de dados em memória à visualização dos mesmos num controlo.

• Todas as estruturas de memória que representem colecções de dados são possíveis de usar num processo de DataBind:– Exemplos:

• Todo o tipo de Arrays• ArrayList• HashTable• DataSet ou DataTable

• Para visualização dos dados usando DataBind, os controlos mais comuns são: Repeater, DataList, GridView e DetailsView

Page 7: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Repeater

• É o mais simples dos controlos para DataBinding de dados• Util para casos simples de repetição de items• Exemplo:

<asp:Repeater ID="Repeater1" runat="server">

<ItemTemplate><b><%# Container.DataItem%></b><br /></ItemTemplate>

</asp:Repeater>

• A propriedade Container.DataItem permite o acesso aos dados de cada item

• Associação de um simples array de strings ao mesmo Repeater:string[] lista = new string[]

{ "item1", "item2", "item3" };

Repeater1.DataSource = lista;

Repeater1.DataBind();

Page 8: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Container.DataItem

• Container.DataItem é um alias em tempo real para cada item específico presente na estrutura de dados associada ao controlo. O tipo de dados devolvido por esta propriedade é determinado pelo tipo de estrutura associada como fonte de dados (DataSource). Exemplos:

• Como se pode observar, cada tipo de fonte de dados exige uma forma diferente de especificar o alias para o item dos dados a visualizar. A fim de evitar esta “preocupação”, poderá ser usado o método Databinder.Eval.

Fonte de dados CódigoArray de Strings <%# Container.DataItem %>DataTable <%# ((DataRow)Container.DataItem)[“coluna"] DataView <%# ((DataRowView)Container.DataItem)[“coluna"] Colecção de elementos

<%# ((Tipo de dados)Container.DataItem).Propriedade %>

Page 9: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Databinder.Eval

• Permite associar cada elemento proveniente da fonte de dados ao objecto de visualização com uma análise prévia do tipo de dados. Exemplo:

DataBinder.Eval(Container.DataItem, “nome_do_campo")

• A expressão anterior pode ainda ser mais simplificada por:

Eval(“nome_do_campo")

Page 10: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# DataList

• Permite a apresentação dos dados em forma de lista• Permite funcionalidades como Paging e Sorting• Exemplo:<asp:DataList ID="dlUtilizadores" runat="server">

<ItemTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id_utilizador")%>' OnCommand="LinkButton1_Command"><%# DataBinder.Eval(Container.DataItem, "username")%></asp:LinkButton>

</ItemTemplate>

</asp:DataList>

Page 11: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# DataList (continuação)

• Código de inicialização:

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM utilizadores", connection);

DataSet dt = new DataSet();

da.Fill(dt);

dList.DataKeyField = "id_utilizador";

dList.DataSource = dt;

dList.DataBind();

Page 12: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# GridView

• Permite a visualização dos dados em forma de tabela• Ideal para apresentar e editar listas de dados com mais do

que um campo (DataTable’s)• Permite operações de Edição, Remoção e Selecção de linhas

(Rows) sem especificar uma unica linha de código (ao contrário da DataGrid, sua antecessora)

Page 13: Asp.net.data

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# DetailsView

• É também um novo controlo na versão 2.0 da .NET framework• Util para gestão registo a registo, sobretudo quando se considera

um número elevado de campos• Permite operações de alteração, remoção ou de adição de dados

• FormView é um controlo que, à semelhança com o DetailsView, permite mostrar os dados registo a registo, mas, neste caso, permite criar um modelo personalizado para visualização dos dados