Você está na página 1de 27

Programao em C# com Visual Studio .

NET

Prof. Eder Samaniego Villalba

Conexo com BD

Vamos agora utilizar cdigo para aprofundar conhecimentos sobre o objeto Connection, responsvel pela conexo com o BD. Outro objeto a ser usado o Command para executar comandos SQL. O processo de conexo com o BD e leitura de registros executado em 5 passos:

1. Criar um objeto de conexo com o BD (Connection) 2. Criar um objeto que vai executar um comando SQL
(Command)
Programao em C#

Conexo com BD

3. Abrir o BD 4. Executar o comando SQL e processar o resultado 5. Fechar a conexo com o BD


Para criar um objeto Connection necessria a string de conexo. Para criar um Command necessrio informar uma instruo SQL e qual Connection ser usada para executar.

Programao em C#

Conexo com BD

Com o SQL cria-se uma Connection assim:


SqlConnection conn = new SqlConnection();

Access:
OleDBConnection conn = new OleDbConnection();

A string de conexo informa ao Connection onde esta nosso BD, qual seu nome e como se conectar ao mesmo (autenticao).

Programao em C#

Conexo com BD

Uma string de conexo pode receber os seguintes parmetros:

Programao em C#

Conexo com BD

Os parmetros so separados por vrgula. No necessrio utilizar todos. Exemplo:

String com autenticao Windows

Programao em C#

Conexo com BD

String com autenticao mista

String com Access

Programao em C#

10

Conexo com BD

A string de conexo passada atravs da propriedade ConnectionString:


conn.ConnectionString = strconn; //strconn string

Tudo em uma linha:


SqlConnection conn = new SqlConnection(strconn);

Vamos continuar o exemplo, implementando um form que se conecta ao BD e recupera um valor.

Programao em C#

11

Ampliando o Experimento

Abra o ControleProjetos. Na janela Server Explorer duplo clique no Diagram 1. Adicione a tabela Contato, clicando com o boto direito sobre o diagrama e selecione New Table. Preencha as colunas da tabela.

Programao em C#

12

Programao em C#

13

Ampliando o Experimento

Selecione as Propriedades do ContatoID e marque Yes para Is Identity. Clique com o direito sobre a tabela Contato e selecione Table View -> Column Names. Faa para todas se for o caso. Relacione EmpresaID de Empresas com EmpresaID de Contato.

Programao em C#

14

Programao em C#

15

Ampliando o Experimento

Adicione a tabela Projeto. ProjetoID -> Is Identity = Yes Lembre de gravar o projeto. Ctrl + s.

Programao em C#

16

Ampliando o Experimento

Adicione a tabela Tarefa. TarefaID -> Is Identity = Yes

Programao em C#

17

Sempre arraste da chave primria para secundria.

Ampliando o Experimento

De acordo com o diagrama:

Cada empresa pode ter vrios projetos 1 projeto s pode estar relacionado a uma empresa Cada projeto pode ter vrias tarefas 1 tarefa s pode estar relacionada a um projeto Cada empresa pode ter vrios contatos 1 contato s pode ser relacionado a uma empresa Uma empresa s pode ser de um tipo Um tipo pode estar ligado a vrias empresas
Programao em C#

19

Ampliando o Experimento

Grave o diagrama. Adicione um novo form CadastroContato. Adicione um label ao form.

Programao em C#

20

Ampliando o Experimento

Duplo clique sobre o form para criar o evento Load. Adicione o cdigo abaixo:

Programao em C#

21

Ampliando o Experimento

3 mtodos para executar o Command:

Scalar retornar apenas um valor. Reader retornar um conjunto de registros.


Associado ao DataReader, ajuda na leitura dos registros. NonQuery no espera retorno algum, comando INSERT, UPDATE, DELETE.

Arraste mais um boto ao Form1.

Programao em C#

22

Ampliando o Experimento

Programao em C#

23

Ampliando o Experimento

Crie o evento Click do boto 2 e adicione: CadastroContato frm = new CadastroContato(); frm.Show(); Execute e clique no boto 2. Se tudo der certo o resultado o nmero 0 no label do CadastroContato. Correto pois no temos registro algum.

Programao em C#

24

Ampliando o Experimento

No Server Explorer localize a tabela contato e clique no Show Table Data. Adicione alguns registros.

Execute novamente veja que mudou o label1.

Programao em C#

25

Ampliando o Experimento

Neste exemplo usamos a string de conexo direto no cdigo, o que no interessante. J temos a mesma no arquivo app.config. O nome dela ProjetosConnectionString.

Programao em C#

26

Ampliando o Experimento

Use esta string para ter a string de conexo em um nico lugar. Mude a strconn do CadastroContato de:
Para:

Programao em C#

27