da apresentação - Bruno Campagnolo de Paula

Propaganda
Tecnologia de Programação
Bruno C. de Paula
BD em .Net:
Conexão com SQL
Server
1º Semestre 2009 > PUCPR > BSI
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;
Hoje vamos
trabalhar com a
conexão com o BD
“no braço”
31/05/2017
3
Nas aulas posteriores vamos usar
ferramentas RAD para agilizar o
desenvolvimento
31/05/2017
4
SGBDs que trabalharemos
SQL Server Express:
– http://www.microsoft.com/express/sq
l/default.aspx
– Gratuito;
– Pode ser usado comercialmente.
Depois: Oracle Express:
– http://www.oracle.com/technology/pr
oducts/database/xe/index.html
31/05/2017
5
 SqlConnection:
estrada;
 SqlCommand:
carro na
estrada;;
Resumo de acesso ao BD
Comandos Insert, Update, Delete
 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
(ExecuteNonQuery);
 7) Obter o resultado: número de linhas
afetadas;
 8) Fechar a conexão.
Resumo de acesso ao BD
Comando 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!
Executar o programa services.msc;
Iniciar o serviço SQLEXPRESS.
31/05/2017
10
Criação de um novo banco de
dados (VS 2008 Express)
Menu Tools > Connect to DataBase
31/05/2017
11
Criação de um novo banco de
dados (VS 2008 Express)
Selecionar a opção arquivo de BD;
31/05/2017
12
Criação de um novo banco de
dados (VS 2008 Express)
Escolher a
localização do
BD;
31/05/2017
13
31/05/2017
14
Explorar os databases
disponíveis
Menu View > Other Windows >
Database Explorer
31/05/2017
15
Explorar os databases
disponíveis
31/05/2017
16
Criar uma tabela
31/05/2017
17
Criar uma tabela
Criar os campos da tabela: id e nome;
31/05/2017
18
Criar uma tabela
Escolher id como chave primária.
31/05/2017
19
Criar uma tabela
Salvar a tabela criada.
31/05/2017
20
Criar uma tabela
Escolher o nome da tabela;
31/05/2017
21
Configurar a tabela
31/05/2017
22
Configurar a tabela
Escolher id como campo
autoincremento;
31/05/2017
23
Executando consultas
31/05/2017
24
Executando consultas
SELECT * FROM Pessoa;
INSERT INTO Pessoa
(nome) VALUES
('Jamanta');
SELECT * From Pessoa;
31/05/2017
25
31/05/2017
26
31/05/2017
27
31/05/2017
28
Criar um projeto para acessar o
banco de dados
File > New Project.
31/05/2017
29
Criar um novo projeto
31/05/2017
30
Criar a interface
Caixa de texto:
textBoxNome;
Caixa de Texto:
textBoxResultado;
Botão: buttonNovo;
Botão: buttonListar;
31/05/2017
31
Criar a conexão com o banco de
dados
A conexão é uma estrada entre o
aplicativo e o SGBD;
31/05/2017
32
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;AttachDbFilena
me=C:\\Temp\\BDTeste.MDF;Integr
ated 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;AttachDbFilena
me=C:\\Temp\\BDTeste.MDF;Integrate
d 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 SQL
SqlCommand
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:\\Tem
p\\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();
O que vem pela frente?
+Banco de Dados (2o
bimestre).
Web Services (2o bimestre);
31/05/2017
43
Download