Cadastro de Clientes

No SQL Server, crie o Banco de Dados e as tabelas abaixo:

CREATE DATABASE bdCliente

Banco e Tabela

Store Procedure

Store Procedure - Inserir

Store Procedure Atualiza

Store Procedure - Pesquisa Clientes

No Visual Studio, crie uma nova solução.

Name: Cadcli
Nome do formulário: frmClientes.cs
Text: Cadastro de Clientes
StartPosition: CenterScreen
MaximizeBox: False
FormBorderStyle: Fixed3D

Formulário de Clientes

Controle Name Text Maxlength Enabled
GroupBox gbOpcoes Opções    
Button btnNovo &Novo btnNovo  
Button btnEditar &Editar btnEditar  
Button btnCancelar &Cancelar btnCancelar  
Button btnPesquisar &Pesquisar btnPesquisar  
Button btnSair Sai&r btnSair  
GroupBox gbDados Dados    
Label lblCodigo Código:    
TextBox txtCodigo     False
Label lblNome Nome:    
TextBox txtNome   40  
Label lblCidade Cidade:    
TextBox txtCidade   30  
Label lblTelefone Telefone:    
MaskedTextBox mskTelefone Mask (99) 0000-0000
Label lblEmail Email:    
TextBox txtEmail      
Label lblCPF CPF:    
MaskedTextBox mskCPF Mask 000,000,000-00
Label lblRG RG:    
TextBox txtRG 15    
Label lbldataCadastro Dt. Cadastro:    
MaskedTextBox mskdataCadastro Mask 00/00/0000
CheckBox chkSituacao Situação:    

Classe para conexão com o banco

Vá até o Menu Projects e clique em Add Class. Coloque o nome: clsconexaoBanco

Classe conexaoBanco

 

Classe conexaoBanco2

Foi criada o atributo conexao como nulo, como private. A seguir criado o método stringConexao que retorna através do get a instância do sql (.\SQLEXPRESS); o nome do banco (Initial Catalog); o usuário e a senha, que neste caso é sa.

Vá até o Menu Projects e clique em Add Class. Coloque o nome: clsClientes. Na figura abaixo, foi definido a conexão com o banco e o método incluir.

Classe Inserir1

Classe inserir2

A seguir, crie o método editar:

Classe Cliente - Atualizar

A seguir, crie o método pesquisaClienteNome:

Classe Cliente - Pesquisa Nome

A seguir, crie o método pesquisaClienteCPF:

Classe Cliente - Pesquisa CPF

A seguir, crie o método pesquisaClienteCodigo:

Classe Cliente - Pesquisa Codigo

Codificando o formulário de clientes:

Duplo clique no botão Sair, e insira o código abaixo:
Botão Sair

Logo abaixo da chave de fechamento acima, crie a subrotina limpar:
SubRotina Limpar

Duplo clique no botão Cancelar, e insira o código abaixo:
For Clientes - Botão Cancelar

Duplo clique no botão Novo, e insiora o código abaixo:
Form Cliente - Botão Novo

Observe que se você executar o projeto, será exibido erro na linha onde está a chamada da subrotina inserirEeditar, pois a mesma não foi criada. Abaixo da chave de fechamento acima, crie esta subrotina:
Form Clientes - Subrotina inserirEeditar

Crie o formulário para pesquisa dos clientes:
Name: frmPClientes
Text: Pesquisa de Clientes
MaximizeBox: False
StartPosition: CenterScreen

Form de Pesquisa de Clientes

Controle Name Text
GroupBox gbOpcoes Opções
RadioButton rbNome Nome
RadioButton rbCPF CPF
TextBox txtPesquisa  
Button btnPesquisar Pesquisar
Button btnFechar &Fechar
DataGridView dgvClientes  

Obs: O controle DataGridView, estava na caixa de ferramentas ToolBox, no grupo Data.

Na classe clsClientes, inclua (pode ser depois do método public DataTable pesquisaCPF(string cpf após a chave de fechamento)) a linha:
public static int codigo;
Esta variável utiliza o modificador static, que fará com que ela tenha alcance não só neste formulário, bem como em qualquer formulário, classe, enfim: em todo este projeto.

Codificação do botão Fechar:
Duplo clique no botão Fechar e insira: Close();

Codificação do botão Pesquisar:

Form Pesquisa de clientes - Botão PesquisarCrie a subrotina cabecalho, que formata a largura e o texto que será exibido em cada coluna, conforme figura abaixo:
Subrotina cabecalho

Agora falta recuperar a chave-primária da tabela de clientes, que é o codigo, pois vamos o conteúdo para o formulário frmClientes.
Selecione o datagridview. Duplo clique na janela de propriedades, no evento DoubleClick, e digite conforme figura abaixo:
Form Pesquisa de Clientes - DataGridView

Recuperando a chave-primária armazenado na variável codigo, no form de pesquisa

Duplo clique no botão Pesquisar do formulário de cadastro de clientes (frmClientes) e digite conforme figura abaixo:
Form cadastro de clientes - botão pesquisar

Codificação do botão Editar

Duplo clique no botão Editar do formulário de cadastro de clientes (frmClientes) e digite conforme figura abaixo:
Cadastro de Clientes - Botão editar

Impressão

No formulário frmClientes, adicione um botão no groupbox de opções:
Name: btnImprimir
Text: Im&primir

Relatório com Report Viewer 
O controle MicrosoftReport, permite a criação de relatórios e o Report Viewer permite que, os aplicativos executados no .NET Framework exibam os mesmos. Vamos criar o relatório de clientes.

Criando o relatório
No Visual Studio clique com o botão direito no Solution Explorer e selecione: Add / New Item.
Em Installed Templates, selecione Reporting e no lado direito da janela em Sort by e selecione a segunda opção: Report.

Logo abaixo, altere o nome para: rptClientes.rdlc. Veja figura abaixo:

Relatório 1

Confirme no botão Add.

Relatório 2

Clique com o botão direito fora da área do relatório no lado direito (fora do retângulo acima). Veja figura acima. Clique na opção: Add Page Header (adiciona o cabeçalho) e Add Page Footer (adiciona o rodapé).

No cabeçalho, clique com o botão direito e insira um TextBox. Veja figura abaixo:

Relatório 3

Na seção de detalhes (a maior abaixo onde você inseriu o textbox), clique com o botão direito e insira uma tabela:
Relatório 4

Deixe a opção Database selecionadae clique no botão Next. Na próxima janela, deixe a opção DataSet selecionada eclique no botão Next. Na próxima janela, clique no botão New Connection. Clique no botão Change para selecionar o tipo do Data Source. No nosso caso, utilizaremos o SQL Server.

Relatório 5

Clique no botão OK. Será aberta a janela, para selecionarmos o banco de dados.
Em Server Name informe a instância do SQL Server: .\SQLEXPRESS
Dependendo de como estiver configurado o SQL Server, o mesmo pode estar como Use Windows Authentication (não precisa utilizar usuário e senha para logar) ou Use SQL Server Authentication (é necessário ter usuário e senha para logar). Vamos utilizar este último. Em User name, digite: as em Password digite: as.
Em Connect to a database, clique na seta da caixa e selecione o banco bdClientes.

Relatório 5

Clique no botão OK. Voltará a janela com a definição da Connection String. Clique no botão Next. Na janela que abriu, temos a opção de selecionar as tabelas, Views, Store Procedures, Functions. Só vamos precisar neste caso, da Tables e clique no botão Finish. Deixe como a janela abaixo:

Relatório 6

Clique no botão OK
Será exibido o controle Table com três colunas. Insira mais duas colunas.

Relatório 6

Passe o mouse na segunda linha (Data) e na primeira coluna, surgirá uma indicação no lado direito da coluna, referente a tabela. Insira as colunas que deseja. Veja a figura abaixo:

Relatório 7

Clique no botão OK
Crie um novo formulário:
Nome: frmRClientes
Text: Relatório de Clientes
WindowState: Maximized

Vá até o ToolBox no grupo Reporting e selecione o controle ReportViewer.

Relatório 8

Insira-o no formulário. Selecione em Choose Report o nome do relatório.
A seguir, clique na opção: Dock in Parent Container. Esta opção ajustará o relatório com o tamanho do formulário.
No botão imprimir, insira as linhas abaixo para carregar e exibir o relatório:
frmRClientes objRelatorio = new frmRClientes();
objRelatorio.ShowDialog();
Execute a aplicação e faça os testes.