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;
313/1/2014 Hoje vamos trabalhar com a conexão com o BD no braço
Nas aulas posteriores vamos usar ferramentas RAD para agilizar o desenvolvimento 413/1/2014
SGBDs que trabalharemos SQL Server Express: – l/default.aspx l/default.aspx – Gratuito; – Pode ser usado comercialmente. Depois: Oracle Express: – oducts/database/xe/index.html oducts/database/xe/index.html 513/1/2014
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! 1013/1/2014 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 1113/1/2014
Criação de um novo banco de dados (VS 2008 Express) Selecionar a opção arquivo de BD; 1213/1/2014
Criação de um novo banco de dados (VS 2008 Express) 1313/1/2014 Escolher a localização do BD;
1413/1/2014
Explorar os databases disponíveis Menu View > Other Windows > Database Explorer 1513/1/2014
Explorar os databases disponíveis 1613/1/2014
Criar uma tabela 1713/1/2014
Criar uma tabela Criar os campos da tabela: id e nome; 1813/1/2014
Criar uma tabela Escolher id como chave primária. 1913/1/2014
Criar uma tabela Salvar a tabela criada. 2013/1/2014
Criar uma tabela Escolher o nome da tabela; 2113/1/2014
Configurar a tabela 2213/1/2014
Configurar a tabela Escolher id como campo autoincremento; 2313/1/2014
Executando consultas 2413/1/2014
Executando consultas SELECT * FROM Pessoa; INSERT INTO Pessoa (nome) VALUES ('Jamanta'); SELECT * From Pessoa; 2513/1/2014
2613/1/2014
2713/1/2014
2813/1/2014
Criar um projeto para acessar o banco de dados File > New Project. 2913/1/2014
Criar um novo projeto 3013/1/2014
Criar a interface Caixa de texto: textBoxNome; Caixa de Texto: textBoxResultado; Botão: buttonNovo; Botão: buttonListar; 3113/1/2014
Criar a conexão com o banco de dados A conexão é uma estrada entre o aplicativo e o SGBD; 3213/1/2014
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();
4313/1/2014 O que vem pela frente? +Banco de Dados (2o bimestre). Web Services (2o bimestre);