Volume II
Apostila desenvolvida pelos Professores Ricardo Santos de Jesus e Rovilson de Freitas, para as Disciplinas de Desenvolvimento de Software I e II, nas Etecs de Francisco Morato e Dr. Emilio Hernandez Aguilar (Franco da Rocha).
Sumrio
Escolha um nome para sua Classe, nesse exemplo coloquei o nome conexao
Criando Mtodos Mtodos so as aes que o programa poder executar. Frmulas, clculos, enfim, tudo aquilo que poder ser usado na execuo. Exemplo: Mtodo somarNumeros() Esse mtodo serve para somar 2 nmeros digitados pelo usurio. Portanto, precisaremos definir genericamente como esse clculo ser realizado. Precisaremos de 2 parmetros, que so os elementos para esse clculo. O mtodo ficar da seguinte forma, muito parecida com o esquema de Funo:
Primeiro, temos o modificador public, que nesse caso, determina que o mtodo servir para todo o projeto. Depois, temos o tipo de retorno (double), que deve ser coerente com o resultado (retorno). Por exemplo, numa diviso, existe a possibilidade de resultado com nmero decimal, portanto o resultado (tipo de retorno) dever ser double. Depois do tipo, vem o nome do mtodo. Caso o mtodo tenha nomes compostos, continue usando o mesmo padro para nome de varivel. Aps o nome do mtodo, devemos definir todos os parmetros, com seus respectivos tipos. Os parmetros so todos os elementos necessrios para efetuar o clculo. No exemplo acima, faremos a soma de dois nmeros, portanto, necessitamos de dois parmetros (double n1, double n2). O comando return obrigatrio. ele quem define o retorno da informao. Ele exigido at mesmo no IF Else. A grande vantagem da utilizao de classes e mtodos evitar.
Abrir a tela a seguir. Preste bastante ateno no nome do servidor, ele ser importante na hora de efetuar a conexo do C# com o Banco de Dados:
Do lado direito, temos a janela Propriedades do Objeto. Nela se encontra uma opo Banco de Dados. Clicando com o boto direito nessa opo, voc pode criar um novo banco de dados:
10
Normalmente o banco fica na pasta do prprio Microsoft SQL Server, em arquivos de programas (c:), dentro de uma sub-pasta chamada Data. Ao clicar na opo banco de dados, surgir uma lista com todos os banco de dados disponveis:
11
Para criar as tabelas correspondentes, casta clicar no Banco de Dados, selecionar a opo tabelas, clicar com o boto direito, nova tabela:
Na parte central, aparecer uma nova janela, com trs opes: Nome da coluna, Tipo de dados e Permitir Nulo.
12
Na primeira coluna, voc dever digitar o nome do campo, na segunda, o tipo de dado, na terceira, dever escolher se o campo poder ou no ficar vazio no momento da digitao.
Para definir a chave-primria, voc dever clicar com o boto direito sobre o campo correspondente, e escolher Definir Chave-primria:
13
Perceba que automaticamente o campo escolhido como chave-primria ficar com a opo Permitir Nulo desabilitada. Basta repetir o processo para todas as tabelas.
14
Conexo SQL C# O primeiro passo a criao do banco de dados no SQL (como vimos no captulo anterior). Depois, necessrio criar os formulrios para cadastro. No exemplo abaixo, temos a seguinte tabela:
Feito o formulrio, vamos classe de conexo. Mas porque criar uma classe para conectar o sistema ao banco de dados? Por que essa mesma classe ser utilizada vrias vezes, portanto, para evitar repeties, criaremos esse cdigo uma nica vez, e faremos sempre a referncia a essa classe. Adicionamos ento a classe Conexao (com o C maisculo e sem acento):
15
16
A linha acima trata da CONEXO, ou seja, a ligao do banco de dados com o sistema. Nessa linha, temos a criao de uma instncia, com um objeto chamado com (escolhi o nome con, poderia ser qualquer outro). O Comando SqlConnection, normalmente no est disponvel. Para que ele aparea, voc ter que adicionar os namespace using System.Data e using System.Data.SqlClient na parte superior do cdigo, ficando assim sua declarao:
17
Dentro do parnteses temos a string de conexo. Ela basicamente a mesma para todas as conexes, mudando apenas o nome do banco de dados (opo Initial Catalog=BD_exemplo) e o servidor (Data Source=LAB31-MICRO16\SQLEXPRESS). No captulo sobre banco de dados, havia falado sobre como o nome do servidor era importante,nesse momento voc ter que fazer a alterao de acordo com a necessidade.
18
O relatrio uma forma de consultar e imprimir os dados cadastrados no banco. Para elaborar um relatrio, necessrio utilizar uma ferramenta que deve ser instalada junto com o Visual Studio, o Crystal Report. Caso no tenha instalado, basta colocar novamente o CD de instalao, e pea para reparar a instalao, marcando a opo correspondente:
19
20
Criando o Data_Set
O primeiro passo, criar no C# um Data Set. Para isso, necessrio clicar no menu Project, Add Component:
21
22
Depois, devemos mostrar a janela para conectar ao banco de dados j feito no SQL Server. Para isso, clique no Menu View, Server Explorer.
necessrio fazer a conexo com o SQL. Para isso, clique com o Boto Direito em Data Connections, Add Connection.
Escolha o servidor e o banco. Aparecer o banco numa lista, com suas respectivas tabelas. Arraste para a rea do DataSet todas as tabelas que pretende usar para criar o relatrio. A aparncia ser a seguinte:
23
DATASET
24
Agora, voc dever adicionar o componente Crystal Report. V ao menu Project, Add Component.
Na lista de categorias, localize a opo Reporting. Ao lado, em modelos, selecione a opo Crystal Report. Renomeie de acordo com o caso. Nesse exemplo, ser crp_exemplo.rpt:
25
Em seguida, ir aparecer outra janela, nela escolha as opo Project Data ADO.NET DataSets. Nessa Opo, voc encontrar todos os DataSets disponveis no seu projeto. Selecione o DataSet que ser utilizado para seu relatrio, assim como a respectiva tabela:
26
Na prxima janela, voc dever selecionar que campos faro parte do relatrio. Voc poder escolher todas, ou apenas alguns dos campos. Use as setas localizadas no meio da janela para essa seleo.
27
Ela a ltima do processo, onde escolheremos a formatao do relatrio. Depois, basta finalizar (Finish). O resultado ser esse:
28
29
Perceba que do lado direito, a janela Solution Explorer (Gerenciador de Solues) no estar mais disponvel. Basta clicar na parte inferior e ela voltar. Perceba que um novo arquivo vai aparecer justamente o crp_exemplo.rpt, o arquivo do relatrio:
Para formatar os campos e dados, basta clicar em cima do objeto com o boto direito, e depois em Format Object.
30
O relatrio dividido em vrias partes. As principais so; Section 2 (Page Header) - Os ttulos dos campos Section 3(Details) Os Dados do Banco de Dados
Na parte inferior, possvel ter uma pr-visualizao do que ser apresentado ao usurio, basta alternar entre Main Report e Main Report Preview:
31
Agora, ser necessrio retornar ao formulrio frm_Rel. Para que o relatrio seja visualizado, devemos selecionar uma ferramenta do Crystal Report, chamada Crystal Report Viewer. Ele encontrado na Toolbar, na categoria Reporting:
32
Atravs da seta, localizada na parte superior direita, podemos efetuar algumas alteraes na ferramenta, como ocultar a GroupTree (faixa branca do lado esquerdo):
33
O CrystalReportViewer j vem com algumas ferramentas que facilitam a vida do programador, como por exemplo, boto para impresso, exportao, etc. O resultado ao executar (f5 ou ) ser o abaixo:
34
35
Consulta no Relatrio Uma sugesto para consultar dentro de um relatrio. Crie o form a seguir:
Altere, para que esse seja o Formulrio inicial. Volte ao formulrio do relatrio. Voc dever alterar uma propriedade da ferramenta CrystalReportViewer (Modifiers), de Private para Public:
Na caixa de texto, voc dever digitar a informao a ser pesquisada. O boto consultar ir chamar o form com o relatrio, junto com os cdigos da consulta:
36
private void btncad_Click(object sender, EventArgs e) { Conexao conn = new Conexao();//Instncia com a conexo do banco de dados frm_rel frm = new frm_rel();//Instncia com o formulrio DataSet ds = new DataSet();//Cria um DataSet SqlDataAdapter da = new SqlDataAdapter("Select nome_cliente From tb_cliente where nome_cliente ='"+ txtCons.Text +"'", conn.Conectar());//Seleciona pelo nome do cliente da.Fill(ds);//Carrega os dados no DataSet cro_exemplo c = new cro_exemplo();//Instncia com o objeto Crystal Report c.SetDataSource(ds.Tables[0]);//Carregando o objeto com a tabela tb_cliente frm.crystalReportViewer1.ReportSource = c;//Carregando o CrystalReportViewer do frm_rel frm.Show();//Chamando o Form com o relatrio }
37
38
39
Referncias Bibliogrficas
FILHO, Ralfe Della Croce; RIBEIRO, Carlos Eduardo. C Sharp in Programao de Computadores Centro Paula Souza, Volume 4, So Paulo, Fundao Padre Anchieta, 2010, p. 100-114. Disponvel em <http://www.macoratti.net/09/08/c_mdi1.htm>. Acesso em 18/03/2012 Disponvel em <http://www.macoratti.net>. Acesso em 18/03/2012 Introduo ao C# - Disponvel em <http://www.ev.org.br >. Acesso em 10/04/2012
40