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

Post on 17-Apr-2015

103 views 0 download

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

Tecnologia de Programação

BD em .Net: Conexão com SQL Server

1º Semestre 2009 > PUCPR > BSI

Bruno C. de PaulaBruno 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;

311/04/23

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

Nas aulas posteriores vamos usar ferramentas RAD para agilizar o desenvolvimento

411/04/23

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

SqlConnection: estrada;

SqlCommand: carro na estrada;;

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.

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.

Passo a passo

Enviando comandos SQL do C# para o SGBD

Na PUCPR o SQL Server Express deve ser iniciado manualmente!

1011/04/23

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

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

1111/04/23

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

1211/04/23

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

1311/04/23

Escolher a localização do BD;

1411/04/23

Explorar os databases disponíveisMenu View > Other Windows >

Database Explorer

1511/04/23

Explorar os databases disponíveis

1611/04/23

Criar uma tabela

1711/04/23

Criar uma tabela

Criar os campos da tabela: id e nome;

1811/04/23

Criar uma tabela

Escolher id como chave primária.

1911/04/23

Criar uma tabela

Salvar a tabela criada.

2011/04/23

Criar uma tabela

Escolher o nome da tabela;

2111/04/23

Configurar a tabela

2211/04/23

Configurar a tabela

Escolher id como campo autoincremento;

2311/04/23

Executando consultas

2411/04/23

Executando consultas

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

SELECT * From Pessoa;

2511/04/23

2611/04/23

2711/04/23

2811/04/23

Criar um projeto para acessar o banco de dados

File > New Project.

2911/04/23

Criar um novo projeto

3011/04/23

Criar a interface

Caixa de texto: textBoxNome;

Caixa de Texto: textBoxResultado;

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

3111/04/23

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

aplicativo e o SGBD;

3211/04/23

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;

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

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");

Abrir a conexão

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

conn.Open();

Preparar o comando SQLSqlCommand

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

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);

Executar o comando SQL

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

int num = cmd.ExecuteNonQuery();

Fechamento da conexão

Liberação de recursos;

conn.Close();

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();

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();

4311/04/23

O que vem pela frente?

+Banco de Dados (2o bimestre).

Web Services (2o bimestre);