tecnologia de programação bd em.net: conexão com sql server 1º semestre 2009 > pucpr > bsi...

43
Tecnologia de Programação BD em .Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Tecnologia de Programação

BD em .Net: Conexão com SQL Server

1º Semestre 2009 > PUCPR > BSI

Bruno C. de PaulaBruno C. de Paula

Page 2: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Resumo da aula

O objetivo de hoje é iniciar o trabalho com Banco de Dados dentro da plataforma .Net;

Vamos começar com a criação de um banco de dados, conexão de um programa com o banco de dados e execução de comandos no banco;

Page 3: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

311/04/23

Hoje vamos trabalhar com a conexão com o BD “no braço”

Page 4: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Nas aulas posteriores vamos usar ferramentas RAD para agilizar o desenvolvimento

411/04/23

Page 5: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

SGBDs que trabalharemosSQL Server Express:–http://www.microsoft.com/express/sql/de

fault.aspx–Gratuito;–Pode ser usado comercialmente.

Depois: Oracle Express:–http://www.oracle.com/technology/produ

cts/database/xe/index.html 511/04/23

Page 6: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

SqlConnection: estrada;

SqlCommand: carro na estrada;;

Page 7: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Resumo de acesso ao BDComandos Insert, Update, Delete1) Criar um BD;2) Criar uma tabela;3) Criar a interface de acesso;4) Abrir uma conexão com o SGBD

(SqlConnection);5) Criar um comando (SqlCommand);6) Enviar o comando ao SGBD

(ExecuteNonQuery);7) Obter o resultado: número de linhas

afetadas;8) Fechar a conexão.

Page 8: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Resumo de acesso ao BDComando Select 1) Criar um BD; 2) Criar uma tabela; 3) Criar a interface de acesso; 4) Abrir uma conexão com o SGBD (SqlConnection); 5) Criar um comando (SqlCommand); 6) Enviar o comando ao SGBD (ExecuteReader); 7) Obter um SqlDataReader que representa o

resultado; 8) Percorrer o SqlDataReader com o método Read; 9) Fechar a conexão.

Page 9: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Passo a passo

Enviando comandos SQL do C# para o SGBD

Page 10: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Na PUCPR o SQL Server Express deve ser iniciado manualmente!

1011/04/23

Executar o programa services.msc;Iniciar o serviço SQLEXPRESS.

Page 11: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criação de um novo banco de dados (VS 2008 Express)Menu Tools > Connect to DataBase

1111/04/23

Page 12: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criação de um novo banco de dados (VS 2008 Express)Selecionar a opção arquivo de BD;

1211/04/23

Page 13: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criação de um novo banco de dados (VS 2008 Express)

1311/04/23

Escolher a localização do BD;

Page 14: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

1411/04/23

Page 15: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Explorar os databases disponíveisMenu View > Other Windows >

Database Explorer

1511/04/23

Page 16: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Explorar os databases disponíveis

1611/04/23

Page 17: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma tabela

1711/04/23

Page 18: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma tabela

Criar os campos da tabela: id e nome;

1811/04/23

Page 19: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma tabela

Escolher id como chave primária.

1911/04/23

Page 20: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma tabela

Salvar a tabela criada.

2011/04/23

Page 21: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma tabela

Escolher o nome da tabela;

2111/04/23

Page 22: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Configurar a tabela

2211/04/23

Page 23: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Configurar a tabela

Escolher id como campo autoincremento;

2311/04/23

Page 24: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Executando consultas

2411/04/23

Page 25: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Executando consultas

SELECT * FROM Pessoa;INSERT INTO Pessoa (nome) VALUES ('Jamanta');

SELECT * From Pessoa;

2511/04/23

Page 26: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

2611/04/23

Page 27: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

2711/04/23

Page 28: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

2811/04/23

Page 29: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar um projeto para acessar o banco de dados

File > New Project.

2911/04/23

Page 30: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar um novo projeto

3011/04/23

Page 31: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar a interface

Caixa de texto: textBoxNome;

Caixa de Texto: textBoxResultado;

Botão: buttonNovo;Botão: buttonListar;

3111/04/23

Page 32: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar a conexão com o banco de dadosA conexão é uma estrada entre o

aplicativo e o SGBD;

3211/04/23

Page 33: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

O String de Conexão(Connection String)

Indica:–Tipo de BD;–Caminho do Banco;–Login e Senha;–Configurações de Acesso;

Específico para cada SGBD;

Page 34: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Connection String para o SQL Server Express

Altere o caminho do BD no destaque;Data Source=.\\

SQLEXPRESS;AttachDbFilename=C:\\Temp\\BDTeste.MDF;Integrated Security=True; Connect Timeout=30;User Instance=True

Page 35: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Criar uma instância de conexão

A variável conn representa a conexão;SqlConnection conn = new

SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Temp\\BDTeste.MDF;Integrated Security=True; Connect Timeout=30;User Instance=True");

Page 36: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Abrir a conexão

Estabelecer, efetivamente, a conexão via rede ou sistema de arquivos;

conn.Open();

Page 37: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Preparar o comando SQLSqlCommand

SqlCommand cmd = new SqlCommand(“SQL”, conn);

Page 38: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Preparar o comando SQL

cmd representa um comando SQL que pode ser chamado diversas vezes;

SqlCommand cmd = new SqlCommand("Insert into Pessoa(nome) values ('"+textBoxNome.Text+"')", conn);

Page 39: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Executar o comando SQL

O retorno do método ExecuteNonQuery é o número de registros afetados;

int num = cmd.ExecuteNonQuery();

Page 40: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Fechamento da conexão

Liberação de recursos;

conn.Close();

Page 41: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Código da Inserção

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Temp\\BDTeste.MDF;Integrated Security=True; Connect Timeout=30;User Instance=True");

conn.Open(); SqlCommand cmd = new SqlCommand("Insert into

Pessoa(nome) values ('"+textBoxNome.Text+"')", conn);

int num = cmd.ExecuteNonQuery(); MessageBox.Show("Registros afetados:" +

num.ToString()); conn.Close();

Page 42: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Código da Listagem

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Temp\\BDTeste.MDF;Integrated Security=True; Connect Timeout=30;User Instance=True");

conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM

Pessoa", conn); SqlDataReader dr = cmd.ExecuteReader(); textBoxResultado.Text = ""; while (dr.Read()) {

– textBoxResultado.Text += dr["nome"].ToString().Trim() + Environment.NewLine;

} conn.Close();

Page 43: Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

4311/04/23

O que vem pela frente?

+Banco de Dados (2o bimestre).

Web Services (2o bimestre);