Bem agora vamos falar sobre Date Parameter, para passarmos um date parameter para C#-Crystal Reports nós temos que criar um novo date parameter em parameter fields de field explorer, depois de criar um date parameter nós temos que criar a selection formula para crystal reports(clique com o botão direito em Crystal Reports designer window e selecione REPORT->SELECTION FORMULA->RECORD).
Aqui temos três tabelas selecionadas para o relatório(ordermaster, OrderDetails e product) e nós
estamos fazendo a fórmula , selecione todos os detalhes de registros das tabelas cuja data do pedido é maior
que o parâmetro de data de entrada,Para fazer isso você tem que selecionar Ordermaster.orderdate, um
operador de comparação e campo de date paremeter da lista de seleção de formula editor e fazer a
fórmula. A figura a seguir mostra como selecionar os campos de formula editor e fazer a
fórmula. clique duplo em cada campo, em seguida, ele será automaticamente selecionado.
Adicione os namespaces : using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
sexta-feira, 28 de outubro de 2011
quinta-feira, 27 de outubro de 2011
Crystal Reports-(6)
Bem agora vou falar um pouco sobre Integer parameter, quando nós passamos um parametro integer, nós temos que criar um novo integer parameter no parameter fields do field explorer, depois de criar o parameter field nós temos que criar a selection formula do crystal reports para criar a selection formula, clique com o botão direito no crystal reports designer window, selecione report->selection formula-> record, agora você pode ver o editor record selection formula , você pode fazer a selection formula escolhendo os campos das listas no Selection Formula Editor Screen
Aqui apenas a tabela de produto é selecionado para a geração de Crystal Reports. Estamos fazendo uma fórmula para selecionar os registros da tabela Produtos cujo valor é maior do que o valor de entrada. Para isso, primeiro vamos selecionar o campo da tabela que é Product_price da tabela Products e então selecionar o operador de comparação e, finalmente, nós selecionamos o nosso parâmetro que criamos anteriormente. A figura acima mostra como selecionar os campos a partir de listas. Duplo clique em cada campo, em seguida, ele será automaticamente selecionado.
terça-feira, 25 de outubro de 2011
Crystal Reports-(5)
Falaremos agora sobre passar String Parameter para Crystal Reports em C# :
por exemplo : de um programa em C# nós iremos passar um customer name como um parametro e mostraremos todas as orders do customer para o Crystal Reports.
Agora iremos criar uma String Parameter no Crystal report designer :
1º - Selecione o Field Explorer em CrystalReport Menu.
2º - Selecione o parametro Field de Field Explorer e clique com o botão direito.
3º - Preencha o nome apropriado(customer name) para Name e o Prompting text.
Depois de criar o campo parametro, nós temos que criar a selection formula para o Crystal Reports parameter, para criar selection formula clique com o botão direito no Crystal reports design e selecione REPORT -> SELECTION FORMULA -> RECORD.
Agora você pode ver a "record Selection Formula Editor Screen". para criar a selection formula você precisa selecionar os campos da lista e fazer a formula.
Primeiro você seleciona OrderMaster.OrderMaster_customername do report field e selecionar o comparison operator e selecione o parameter field. clique duplo em cada campo e será selecionado, você pode fechar Selection Formula Editor screen depois de criar selection formula
por exemplo : de um programa em C# nós iremos passar um customer name como um parametro e mostraremos todas as orders do customer para o Crystal Reports.
Agora iremos criar uma String Parameter no Crystal report designer :
1º - Selecione o Field Explorer em CrystalReport Menu.
2º - Selecione o parametro Field de Field Explorer e clique com o botão direito.
3º - Preencha o nome apropriado(customer name) para Name e o Prompting text.
Depois de criar o campo parametro, nós temos que criar a selection formula para o Crystal Reports parameter, para criar selection formula clique com o botão direito no Crystal reports design e selecione REPORT -> SELECTION FORMULA -> RECORD.
Agora você pode ver a "record Selection Formula Editor Screen". para criar a selection formula você precisa selecionar os campos da lista e fazer a formula.
Primeiro você seleciona OrderMaster.OrderMaster_customername do report field e selecionar o comparison operator e selecione o parameter field. clique duplo em cada campo e será selecionado, você pode fechar Selection Formula Editor screen depois de criar selection formula
Crystal Reports-(4)
Aqui nós iremos gerar Crystal Reports de várias tabelas em C#, aqui nós temos 3 tabelas (OrderMaster,OrderDetails,Product) e nós iremos gerar um Crystal Report dessas 3 tabelas conectando cada uma dessas com seus campos relacionados.
Selecione todas as tabelas da lista do lado direito por causa que estamos criando relatórios das
3 tabelas(OrderMaster,OrderDetails,Product), o próximo passo é criar relações entre as tabelas selecionadas, agora iremos conectar os campos relacionados de cada tabela,selecione os campos que irão fazer relação e arraste para o campo relacionado de outras tabelas selecionadas,agora temos que selecionar os campos das tabelas selecionadas (OrderMaster,OrderDetails,Product) no caso vamos escolher os campos : Customername, orderdate, Productname e quantity, depois de selecionar os campos das tabelas clique em FINISH por causa que não vamos usar outras funções do Crystal Reports Wizard, depois irá aparecer Crystal Reports Designer(aqui você pode arrumar os campos de acordo como você quiser ver o report/relatório)
Crystal Reports-(3)
Escolha o formulário padrão (Form1.cs) que você criou em C# e arraste os controles button e CrystalReportViewer para o seu formulário, você tem que incluir CrystalDecisions.CrystalReports.Engine no seu código fonte C#,adicione o namespace using CrystalDecisions.CrystalReports.Engine;
copie e cole o seguinte código fonte e execute seu projeto C# :
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1 ( )
{
InitializeComponent ( );
}
private void button1_Click(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument ( );
cryRpt.Load ( CrystalReport1.rpt" crystalReportViewer1.ReportSource = cryRpt ;
crystalReportViewer1.Refresh ( );
}
}
}
copie e cole o seguinte código fonte e execute seu projeto C# :
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1 ( )
{
InitializeComponent ( );
}
private void button1_Click(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument ( );
cryRpt.Load ( CrystalReport1.rpt" crystalReportViewer1.ReportSource = cryRpt ;
crystalReportViewer1.Refresh ( );
}
}
}
Crystal Reports-(2)
Aqui nós iremos criar um novo Crystal Reports da tabela Product no banco de dados "crystaldb" , a tabela Product tem 3 campos (Product_id,Product_name,Product_price) e nós iremos mostrar o dado inteiro da tabela Product em C# - Crystal Reports.
Abra o Visual Studio .NET e crie um novo projeto Windows Application , agora iremos receber Form1.cs como padrão , no Menu principal em Visual Studio C# clique em PROJECT --> Add New Item,quando aparecer o item de diálogo escolha Crystal Reports.
Agora iremos escolher o tipo de relatório na galeria Crystal Reports, deixe na forma padrão e clique em OK,
agora iremos escolher uma conexão apropriada para o banco de dados nesse exemplo iremos escolher OLEDB CONNECTION para conectar o SQL Server com o crystal reports em C#. escolha OLE DB (ADO) em Create New Connection agora escolha Microsoft OLE DB Provider para SQL Server , na próxima tela em SQL Server authentication tela para conectar com o banco de dados - crystaldb,escolha seu SQL Server name , entre com userid e password e selecione o seu banco de dados, clique em NEXT a próxima tela mostra os valores das propriedades do OLE DB apenas clique no botão FINISH,depois de clicar no botão aparecerá uma janela que irá pedir o nome do seu servidor em OLEDB Connection, no banco de dados escolhido(Crystaldb) clique em tabelas(agora você pode ver todas as tabelas do seu banco de dados) na lista de tabelas de um clique duplo na tabela Product que você pode ver a tabela Product ficando na lista do lado direito, clique no botão NEXT e selecione todos os campos da tabela Product na lista do lado direito clique no botão FINISH, agora você pode ver a janela do Crystal Reports Designer no seu projeto C#. no Crystal Reports Designer você pode ver os campos selecionados da tabela Product,você pode organizar os campos Objects e design da tela de acordo com suas preferencias. a parte do design está acabada agora temos que chamar Crystal Reports no seu aplicativo C# e visualizá-lo através do controle Crystal Reports Viewer em C#.
Abra o Visual Studio .NET e crie um novo projeto Windows Application , agora iremos receber Form1.cs como padrão , no Menu principal em Visual Studio C# clique em PROJECT --> Add New Item,quando aparecer o item de diálogo escolha Crystal Reports.
Agora iremos escolher o tipo de relatório na galeria Crystal Reports, deixe na forma padrão e clique em OK,
agora iremos escolher uma conexão apropriada para o banco de dados nesse exemplo iremos escolher OLEDB CONNECTION para conectar o SQL Server com o crystal reports em C#. escolha OLE DB (ADO) em Create New Connection agora escolha Microsoft OLE DB Provider para SQL Server , na próxima tela em SQL Server authentication tela para conectar com o banco de dados - crystaldb,escolha seu SQL Server name , entre com userid e password e selecione o seu banco de dados, clique em NEXT a próxima tela mostra os valores das propriedades do OLE DB apenas clique no botão FINISH,depois de clicar no botão aparecerá uma janela que irá pedir o nome do seu servidor em OLEDB Connection, no banco de dados escolhido(Crystaldb) clique em tabelas(agora você pode ver todas as tabelas do seu banco de dados) na lista de tabelas de um clique duplo na tabela Product que você pode ver a tabela Product ficando na lista do lado direito, clique no botão NEXT e selecione todos os campos da tabela Product na lista do lado direito clique no botão FINISH, agora você pode ver a janela do Crystal Reports Designer no seu projeto C#. no Crystal Reports Designer você pode ver os campos selecionados da tabela Product,você pode organizar os campos Objects e design da tela de acordo com suas preferencias. a parte do design está acabada agora temos que chamar Crystal Reports no seu aplicativo C# e visualizá-lo através do controle Crystal Reports Viewer em C#.
um código para se colocar dentro do evento button1_click :
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(COLOQUE O DIRETÓRIO DO PROJETO SALVO AQUI\\CrystalReport1.rpt");
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
}
}A imagem acima é oque aparece depois que se clica em Show Report
Crystal Reports-(1)
Bem vamos começar a falar de Crystal Reports, para gerar um Crystal Reports em C# nós precisamos conectar um banco de dados e algumas tabelas com dados, 1º passo : nós criamos um banco de dados de exemplo chamado "crystaldb"
No database crystaldb crie 3 tabelas : OrderMaster,OrderDetails,Product. a estrutura das tabelas é :
OrderMaster (OrderMaster_id,OrderMaster_date,OrderMaster_customer e OrderMaster_createduser)
OrderDetails (OrderDetails_id,OrderDetails_masterid,OrderDetails_productid e OrderDetails_qty)
Product (Product_id,Product_name e Product_price)
O comando SQL para criar tabelas do post anterior segue-se abaixo :
CREATE TABLE [dbo].[OrderMaster](
[OrderMaster_id][int] NOT NULL,
[OrderMaster_date][datetime] NULL,
[OrderMaster_customername][varchar] (50),
[OrderMaster_createduser][varchar] (50)
) ON [PRIMARY]
CREATE TABLE [dbo].[OrderDetails] (
[OrderDetails_id][int] NOT NULL,
[OrderDetails_masterid][int] NULL,
[OrderDetails_productid][int] NULL,
[OrderDetails_qty][int] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[Product](
[Product_id][int] NOT NULL,
[Product_name][varchar] (50),
[Product_price][numeric] (18,0) NULL
) ON [PRIMARY]
Segue-se umas imagens abaixo para melhor compreensão :
No database crystaldb crie 3 tabelas : OrderMaster,OrderDetails,Product. a estrutura das tabelas é :
OrderMaster (OrderMaster_id,OrderMaster_date,OrderMaster_customer e OrderMaster_createduser)
OrderDetails (OrderDetails_id,OrderDetails_masterid,OrderDetails_productid e OrderDetails_qty)
Product (Product_id,Product_name e Product_price)
O comando SQL para criar tabelas do post anterior segue-se abaixo :
CREATE TABLE [dbo].[OrderMaster](
[OrderMaster_id][int] NOT NULL,
[OrderMaster_date][datetime] NULL,
[OrderMaster_customername][varchar] (50),
[OrderMaster_createduser][varchar] (50)
) ON [PRIMARY]
CREATE TABLE [dbo].[OrderDetails] (
[OrderDetails_id][int] NOT NULL,
[OrderDetails_masterid][int] NULL,
[OrderDetails_productid][int] NULL,
[OrderDetails_qty][int] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[Product](
[Product_id][int] NOT NULL,
[Product_name][varchar] (50),
[Product_price][numeric] (18,0) NULL
) ON [PRIMARY]
Segue-se umas imagens abaixo para melhor compreensão :
e a product table :
segunda-feira, 10 de outubro de 2011
Programação C# - Banco de Dados parte.4
Vamos agora examinar as propriedades da sua primeira coluna,clique com o botão direito sobre a sua 1º coluna e selecione Properties(última opção), localize na janela Properties a propriedade Identity Specification e expanda a mesma localizando a propriedade Is Identity , selecione o valor YES na propriedade Is Identity essa propriedade serve para deixar o campo em questão auto-numeravel, ou seja, a cada registro adicionado na tabela um valor é definido de forma incremental,um-a-um,automaticamente.
Programação C# - Banco de Dados parte.3
Vamos criar uma tabela,clique com o botão direito sobre o diagrama e selecione New Table, aparece uma janela perguntando o nome da tabela, coloque oque você quiser,crie campos que tenham a ver com o nome da sua tabela e preencha quantas colunas você quiser , agora temos que escolher qual campo vai ser nossa chave primária(Primary Key) essa P.K representa nossa tabela em relações com outras tabelas . OBS : primary key é obrigatório e não pode ter valores repetidos .
Para escolher qual campo vai ser a chave primária basta clicar com o botão direito sobre a mesma e selecionar Set Primary Key.
Para escolher qual campo vai ser a chave primária basta clicar com o botão direito sobre a mesma e selecionar Set Primary Key.
Programação C# - Banco de Dados parte.2
Vá até Database Explorer(Se você usa versão Express) ou Server Explorer(Se você não usa versão Express) através de Menu-View-Other Windows-Database/Server Explorer. na Janela Database Explorer você pode criar e manipular o conteúdo do banco de dados.
Vamos criar as tabelas do nosso banco de dados utilizando o recurso de diagramas que nos permite ter uma visão do todo ao modelarmos nosso banco de dados.
Na janela Database Explorer , clique com o botão direito sobre Database Diagrams e clique sobre Add New Diagram , aparece uma caixa de diálogo alertando que não existe nenhum diagrama no banco de dados e perguntando se você deseja criar um,clique em SIM, aparece a janela Add Table(essa janela serve para adicionarmos nos diagramas tabelas que já estejam criadas no banco de dados,como ainda não temos nenhuma tabela não há o que adicionar , apenas clique em Close).
Vamos criar as tabelas do nosso banco de dados utilizando o recurso de diagramas que nos permite ter uma visão do todo ao modelarmos nosso banco de dados.
Na janela Database Explorer , clique com o botão direito sobre Database Diagrams e clique sobre Add New Diagram , aparece uma caixa de diálogo alertando que não existe nenhum diagrama no banco de dados e perguntando se você deseja criar um,clique em SIM, aparece a janela Add Table(essa janela serve para adicionarmos nos diagramas tabelas que já estejam criadas no banco de dados,como ainda não temos nenhuma tabela não há o que adicionar , apenas clique em Close).
Programação C# - Banco de Dados parte.1
Para adicionar um banco de dados ao projeto, vá até a janela SOLUTION EXPLORER,clique sobre o projeto com o botão direito do mouse e selecione a opção ADD,quando adicionamos um banco de dados ao projeto automaticamente o DATA SOURCE CONFIGURATION WIZARD é executado, não ligue para isso agora,mais tarde eu explico sobre D.S.C.W apenas clique em CANCEL na janela que se abriu.
terça-feira, 4 de outubro de 2011
Explicação rápida sobre Eventos
Existem vários eventos que podem ocorrer em seu programa,clique do botão é um exemplo de evento, e sempre que um evento ocorre um bloco de código(Manipulador de Evento) pode ser processado.
Múltiplos Formulários
É importante dizer que um programa não é feito apenas com 1 formulário(Form),sempre temos vários deles nos nossos programas.
Para adicionar um novo form no seu programa é bastante simples :
Vá até a janela SOLUTION EXPLORER clique com o botão direito sobre o nome do projeto e escolha ADD e depois clique em windows form, escreva um nome para o form e depois clique em ADD para finalizar.
OBS: quando você for fazer relacionamentos entre os forms é importante ressaltar que o modelo de declaração de uma variável segue-se assim EX: public string var;
no exemplo acima eu disse que a variável era do tipo string e era pública para que ela possa ser acessada por outro form.
Para adicionar um novo form no seu programa é bastante simples :
Vá até a janela SOLUTION EXPLORER clique com o botão direito sobre o nome do projeto e escolha ADD e depois clique em windows form, escreva um nome para o form e depois clique em ADD para finalizar.
OBS: quando você for fazer relacionamentos entre os forms é importante ressaltar que o modelo de declaração de uma variável segue-se assim EX: public string var;
no exemplo acima eu disse que a variável era do tipo string e era pública para que ela possa ser acessada por outro form.
Coleções
Uma coleção é um grupo de objetos relacionados,todo controle que você arrasta para o form é um objeto e cada objeto adicionado ao form é consequentemente adicionado a uma coleção(Control Collection).
Arrays
São usados para gerenciar grandes quantidades de informações, assim como uma variável você precisa declarar seus arrays antes de usá-los, um array pode conter mais de uma coluna, um array só pode contar um tipo de dados EX: String,Int,Double e etc...
Exemplo de como criar um array com 5 linhas e 3 colunas :
string[,] pessoas = new string[5,3];
Exemplo de como criar um array com 5 linhas e 3 colunas :
string[,] pessoas = new string[5,3];
Programação Defensiva
Básicamente conhecida pela estratégia do programador em escrever seu código protegendo-o de erros de Runtime.
Ex:
if (System.IO.File.Exists(@"c:\carro.jpg")) *OBS: usa-se @ antes de um diretório passado como string.
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"c:\carro.jpg");
}
else
{
MessageBox.Show("Não é possível abrir o arquivo em questão");
}
*OBS²: usa-se o método File.Exists para verificar se o arquivo existe antes de tentar abri-lo
Ex:
if (System.IO.File.Exists(@"c:\carro.jpg")) *OBS: usa-se @ antes de um diretório passado como string.
{
pictureBox1.Image = System.Drawing.Image.FromFile(@"c:\carro.jpg");
}
else
{
MessageBox.Show("Não é possível abrir o arquivo em questão");
}
*OBS²: usa-se o método File.Exists para verificar se o arquivo existe antes de tentar abri-lo
Try..Catch
Básicamente serve para tratar erros(exceções) de Runtime, você pode usar ele para para emitir uma mensagem avisando sobre o erro em questão e/ou configurar seu programa para que ele continue executando.
Estrutura padrão do Try..Catch :
try
{
Código executado se não houver erro
}
catch
{
Código executado se houver erro
}
Finally
{
Opcional, (OBS: sempre é executado)
}
Estrutura padrão do Try..Catch :
try
{
Código executado se não houver erro
}
catch
{
Código executado se houver erro
}
Finally
{
Opcional, (OBS: sempre é executado)
}
Os 3 tipos de erros que podem ocorrer no seu programa...
São esses erros de sintaxe,erros de Runtime e erros lógicos :
*Erro de sintaxe ==> Ocorre quando o usuário digita de forma errada palavras reservadas ou comandos de Csharp, com esse tipo de erro é impossível executar o programa.
*Erro de Runtime ==> Ocorre quando o programa para de executar derrepente, EX: imagine você com um programa para ler um cd/dvd ou até um disquete, sendo que o mesmo não está no drive, isso não vai dar certo obviamente e como resposta vamos ter uma parada brusca ,ou seja, um erro ou na linguagem de programador uma EXCEÇÃO.
*Erro lógico ==> O pior tipo de erro para se corrigir, simplesmente porquê quem comete esse erro é o ser-humano, esse tipo de erro ainda chega a ser lido pelo programa mas no entanto ele não chega a dar o resultado correto, o local onde esse tipo de erro se encontra é na parte lógica do programa.
*Erro de sintaxe ==> Ocorre quando o usuário digita de forma errada palavras reservadas ou comandos de Csharp, com esse tipo de erro é impossível executar o programa.
*Erro de Runtime ==> Ocorre quando o programa para de executar derrepente, EX: imagine você com um programa para ler um cd/dvd ou até um disquete, sendo que o mesmo não está no drive, isso não vai dar certo obviamente e como resposta vamos ter uma parada brusca ,ou seja, um erro ou na linguagem de programador uma EXCEÇÃO.
*Erro lógico ==> O pior tipo de erro para se corrigir, simplesmente porquê quem comete esse erro é o ser-humano, esse tipo de erro ainda chega a ser lido pelo programa mas no entanto ele não chega a dar o resultado correto, o local onde esse tipo de erro se encontra é na parte lógica do programa.
Foreach
O foreach é usado em casos onde o usuário precisa percorrer uma coleção de dados,no foreach o usuário não precisa se preocupar com o limite do laço de repetição(Looping) pois na própria coleção esse limite já está demarcado , ou seja , a sua única preocupação é manipular o Objeto que está sendo usado no momento.
Estrutura de Decisão
Sem dúvida é a mais utilizada na programação, executa uma condição e direciona o fluxo do programa para um determinado cálculo,rotina,função etc...
Estrutura de decisão é simplesmente um bloco de código que utiliza as expressões condicionais para tomar decisões que orientam qual código deve ser executado. EX: Bool (Verdadeiro ou Falso)
Estrutura de decisão é simplesmente um bloco de código que utiliza as expressões condicionais para tomar decisões que orientam qual código deve ser executado. EX: Bool (Verdadeiro ou Falso)
Métodos e Escopo
Método é uma sequencia nomeada de instruções que possui um corpo e um nome, o corpo contem as instruções e o nome ajuda a saber oque o método vai fazer EX : CalcularJuros.
tipoDeRetorno nomeDoMetodo ( listaDeParamentros opcional )
{
// corpo do método
}
- tipoDeRetorno – é o tipo de dado que vai ser retornado pelo método após sua execução. Pode ser o nome de qualquer tipo como int ou string. Se o seu método não for retornar valor algum, você precisa usar a palavra reservada void aqui, especificando que o método não retorna nada.
- nomeDoMetodo – é o nome que vai ser usado para chamar o método. Este nome deve seguir as mesmas recomendações usadas nos nomes das variáveis. Procure usar notação camelCasing para nomear os métodos e também procure utilizar um verbo na primeira palavra do nome, para ajudar a identificar o que o método faz.
- ListaDeParametros – descreve o tipo e os nomes das informações opcionais que o método recebe. Você escreve os parâmetros dentro dos parênteses como se fosse declarar variáveis: nome do tipo seguido pelo nome do parâmetro. Se o seu método tiver mais que um parâmetro, separe-os com vírgula.
- Corpo do método – linhas de código que vão ser executadas quando o método é chamado.
Assinar:
Postagens (Atom)