tecnologia de programação bd em.net: conexão com sql server 1º semestre 2009 > pucpr > bsi...
TRANSCRIPT
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);