Tutorial de Conexão com Banco de Dados em C#: Conectando ao SQL Server e Realizando Operações CRUD
Trabalhar com banco de dados é uma habilidade essencial para qualquer desenvolvedor C#. Este guia mostra como conectar ao Microsoft SQL Server, executar consultas e vincular dados a controles Windows Forms.
Fundamentos de Conectividade com Banco de Dados
Seja usando Oracle, MySQL, MongoDB ou Microsoft SQL Server, o processo de conectar, consultar, inserir, atualizar e excluir dados permanece consistente. Neste tutorial focaremos no SQL Server, usando a edição gratuita SQL Server Express.
- Connection string – contém nome do servidor, nome do banco de dados e credenciais.
- Credenciais – usuário e senha com privilégios necessários.
- Parâmetros opcionais – ex: timeout de conexão, criptografia.
Comandos SQL em C#
A classe SqlCommand envia instruções SQL ao banco de dados. Use ExecuteReader para consultas SELECT e ExecuteNonQuery para INSERT, UPDATE e DELETE.
Conectando C# ao SQL Server
Abaixo está um exemplo mínimo de Windows Forms que estabelece conexão a um banco chamado Demodb usando credenciais sa / demo123. O evento de clique do botão abre a conexão, exibe mensagem e a fecha.
Passo 1: Crie um projeto Windows Forms no Visual Studio. Passo 2: Adicione um Button chamado btnConnect com texto "Conectar". Passo 3: Adicione o seguinte manipulador de evento:
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DemoApplication1 {
public partial class Form1 : Form {
public Form1() => InitializeComponent();
private void btnConnect_Click(object sender, EventArgs e) {
string connectionString = "Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";
using (SqlConnection conn = new SqlConnection(connectionString)) {
conn.Open();
MessageBox.Show("Conexão Aberta!");
conn.Close();
}
}
}
}
Execute a aplicação, clique no botão e você verá uma mensagem de confirmação.
Lendo Dados com SqlDataReader
Assuma que uma tabela demotb existe com colunas TutorialID e TutorialName:
| TutorialID | TutorialName |
|---|---|
| 1 | C# |
| 2 | ASP.NET |
Use o seguinte código para buscar e exibir as linhas:
string sql = "SELECT TutorialID, TutorialName FROM demotb";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader reader = cmd.ExecuteReader()) {
string output = "";
while (reader.Read()) {
output += $"ID: {reader[\"TutorialID\"]}, Nome: {reader[\"TutorialName\"]}\n";
}
MessageBox.Show(output);
}
Inserindo um Registro
Para adicionar um novo tutorial (ID 3, Nome VB.NET) execute:
string insertSql = "INSERT INTO demotb (TutorialID, TutorialName) VALUES (3, 'VB.NET')";
using (SqlCommand cmd = new SqlCommand(insertSql, conn)) {
cmd.ExecuteNonQuery();
}
Atualizando um Registro
Atualize o tutorial com ID 3 para "VB.NET Complete":
string updateSql = "UPDATE demotb SET TutorialName = 'VB.NET Complete' WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(updateSql, conn)) {
cmd.ExecuteNonQuery();
}
Excluindo um Registro
Remova o registro com ID 3:
string deleteSql = "DELETE FROM demotb WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(deleteSql, conn)) {
cmd.ExecuteNonQuery();
}
Vinculando Controles a Dados
Windows Forms oferece data binding, eliminando a necessidade de atualizações manuais de UI. Arraste dois controles TextBox para o formulário, nomeie-os txtID e txtName, e adicione um BindingNavigator.
Use o assistente de Data Source para criar uma fonte de dados do projeto para demotb. Então:
- Selecione
txtID, vá à janela Properties, clique em DataBindings → Text, e vincule ademotbBindingSource – TutorialID. - Repita para
txtNamecomTutorialName. - Defina a propriedade
BindingSourcedoBindingNavigatorparademotbBindingSource.
Execute o formulário; as caixas de texto exibem o primeiro registro, e o navigator navega pelas linhas automaticamente.
Exibindo Dados com DataGridView
Arraste um DataGridView para o formulário. Em suas propriedades, defina o DataSource para demotbBindingSource. A grade populada com todas as linhas da tabela.
Resumo
- Conecte ao SQL Server usando
SqlConnectione uma connection string adequada. - Execute operações CRUD com
SqlCommandeExecuteNonQuery. - Leia dados com
SqlDataReadere processe linhas em loopwhile. - Vincule controles UI a um
BindingSourcepara exibição e navegação automática de dados. - Use
DataGridViewpara apresentar dados tabulares instantaneamente.
Linguagem C
- Entendendo Servidores VPN Ofuscados: Como Funcionam e Por Que Importam
- Conectar Diretamente Sensor Ultrassônico NXT do Lego Mindstorms ao Raspberry Pi
- Strings em C Facilitadas: Declaração, Entrada, Saída e Funções da Biblioteca
- Usando realloc() em C: Sintaxe, Boas Práticas e Exemplo
- Dominando a Função free() em C: Guia Prático e Exemplo
- Método Java String length(): Como Obter o Tamanho de uma String (Exemplo)
- Lendo Arquivos em Java com BufferedReader – Guia Prático com Exemplos
- Melhorar Cadeias de Abastecimento dos EUA: O Papel Estratégico de Portos Interiores
- Automação de Servidor: De Macros de Desktop a Plataformas FANG
- Conecte seu CNC Haas a PC ou Notebook: Guia Passo a Passo