Você está na página 1de 4

COMO CONECTAR A BD COM O C# USANDO PROCEDIMENTO

ARMAZENADO & INSERIR DADOS À PARTIR DA TELA

1- CRIAR UM PROCEDIMENTO ARMAZENADO:

CREATE PROCEDURE NOME_DO_PROC

@VARIAVEL_A_UTILIZAR TIPO_DE_DADO,@OUTRAS_VARIÁVEIS_A_USAR
TIPO_DE_DADO

AS(PALAVRA RESERVADA)

INSERT A TABELA QUE QUER INSERIR DADOS(ATRIBUTO,ATRIBUTO,ATRIBUTO)

VALUES (@VARIAVEL_A_UTILIZAR, @OUTRAS_VARIÁVEIS_A_USAR)

NOTA: ESSE É UM PROCEDIMENTO DE INSERÇÃO DE DADOS, ONDE TEM A PALAVRA


VALUES, ENTRE PARÊNTESES DEVE IR AS VARIÁVEIS CRIADAS PARA O PROCEDIMENTO,
ESSAS VARIÁVEIS É QUE VÃO RECEBER OS VALORES DE FORA E INSERIR NOS ATRIBUTOS
DA TABELA SELECIONADA.

2- ABRIR O BLOCO DE NOTAS E NÃO ESCREVER NADA, SALVAR COM UM NOME


QUALQUER E DEPOIS NO FIM USAR(.udl) COMO TIPO DE FICHEIRO. EM SEGUIDA ABRA
COM O OLE DB CORE SERVICES, VIRÁ UMA TELA DESTE TIPO:

NA OPÇÃO 3. SELECIONE A BASE DE DADOS QUE QUER FAZER A CONEXÃO, DEPOIS CLIQUE EM
TESTAR LIGAÇÃO, DEPOIS OK.
DEPOIS DE FECHAR ESTA JANELA, CLIQUE NOVAMENTO NO ARQUIVO UDL, MAS
DESTA VEZ ABRA NO BLOCO DE NOTA.

VIRÁ DESTE JEITO:

COPIA SOMENTE A PARTE SELECIONA (COR AZUL), ESTA É A LIGAÇÃO QUE


LEVAREMOS PARA O C#.

3- JÁ DENTRO DP C#, COM O FORMULÁRIO CRIADO, A PRIMEIRA COISA A FAZER É


ENTRAR NA PARTE DO CÓDIGO, IR ATÉ A BIBLIOTECA E INSERIR UMA NOVA:

Using System.Data.SqlClient;

Nota: Esta biblioteca vai permitir usar certos atributos para permitir a conexão com
a base de dados.

4- JÁ COM A NOVA BIBLIOTECA INSERIDA, VAMOS CRIAR NA CLASSE DO


FORMULÁRIO UMA VARIÁVEL DO TIPO String, QUE VAI RECEBER A CONEXÃO
QUE COPIAMOS NO BLOCO DE NOTAS, ACOPANHADO DO @, VAI FICAR MAIS
OU MENOS ASSIM:

String Nome_da_var = @ “Integrated Security=SSPI;Persist Security


Info=False;Initial Catalog=NOME DA BD_A_USAR;Data Source=NOME DO TEU
SERVIDOR”;

5- DEPOIS DE COLAR A CONEXÃO, O FORMULÁRIO DEVE NO MÍNIMO CONTER


UMA TEXTBOX E UM BUTTON, CLICANDO NO BOTÃO… EIS O QUE VAI SER
PROGRAMADO DENTRO DO SEU CÓDIGO:

PRIMEIRAMENTE CRIAR UMA VARIÁVEL DO TIPO STRING QUE VAI RECEBER O


NOME DO PROCEDIMENTO ARMAZENADO:
String Nome_da_var = “Nome_do_procedimento_criado”;

EM SEGUIDA, DEVE SE CRIAR A CONEXÃO(COMO SE FOSSE INSTANCIAR):

SqlConnection Qualquer_nome = new SqlConnection (Nome_da_var que recebeu a


conexão lá na classe);

DEPOIS USAR A PROPRIEDADE DE CONEXÃO, MAIS OU MENOS ASSIM:

Qualquer_nome.ConnectionString = Nome_da_var que recebeu a conexão lá na


classe;

AGORA, DEVEMOS CRIAR OS COMANDOS DE CONEXÃO, DEVEMOS INSERIR DOIS


PARÂMETROS PARA ESTE COMANDO CRIADO, A VARIÁVEL QUE RECEBEU O NOME
DO PROCEDIMENTO E Qualquer_nome(NOME DADO A INSTANCIAR A CONEXÃO),
VAIS ESTAR MAIS OU MENOS ASSIM:

SqlCommand Nome_do_comando = new SqlConnection


(Var_que_recebeu_o_nome_do_procedimento, Qualquer_nome(NOME DADO A
INSTANCIAR A CONEXÃO) );

O PASSO SEGUINTE É CRIAR UM PARÂMETRO QUE ADICIONA JÁ OS VALORES À


BASE DE DADOS, NOTA QUE O PARÂMETRO É ÚNICO… ELE VAI SER REPETIDO DE
ACORDO COM NÚMERO DE VARIÁVEIS E TEXTBOX EXISTENTES, FICA DESSE JEITO
MAIS OU MENOS:

Nome_do_comando.Parameters.AddWithValeu(“@nome_da_var criada no
procedimento lá na base de dados”, lugar de onde virá os dados para preencher
essa variável(Nesse caso é uma TextBox1));

Nome_do_comando.Parameters.AddWithValeu(“@nome_da_outra_var criada no
procedimento lá na base de dados”, lugar de onde virá os dados para preencher
essa variável(Nesse caso é uma TextBox2));

OBS: Esses parâmetros serão repetidos de acordo com o número de variáveis e


TextBox existentes.

DEPOIS DEVEMOS DIZER O TIPO DE COMANDO, QUE NESSE CASO É UM


PROCEDIMENTO ARMAZENADO :

Nome_do_comando.CommandType.StoredProcedure;

E POR FIM, OS 3 PASSOS FINAIS… ABRIR A CONEXÃO, EXECUTAR O COMANDO E


FECHAR A CONEXÃO:

Qualquer_nome.Open();
Nome_do_comando.ExecuteNonQuery();

Qualquer_nome.Close();

ASSIM É QUE É FEITA UMA CONEXÃO E INSERÇÃO DE DADOS À PARTIR DA TELA.

RESUMINDO TODOS OS PASSOS AQUI ESTÁ:

public partial class Form1 : Form


{
String Teste = @"Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=TRANSPORTE;Data Source=ENG-MIROSMAR";
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
String Proc = "INSERIR_FUNCIONARIO";
SqlConnection Cn = new SqlConnection(Teste);
Cn.ConnectionString = Teste;
SqlCommand Cm = new SqlCommand(Proc, Cn);
Cm.Parameters.AddWithValue("@NOME", textBox1.Text);
Cm.Parameters.AddWithValue("@DATA_NASC", textBox2.Text);
Cm.Parameters.AddWithValue("@DATA_ENTRADA", textBox3.Text);
Cm.Parameters.AddWithValue("@COD_BAIRRO", 1);
Cm.CommandType = CommandType.StoredProcedure;
Cn.Open();
Cm.ExecuteNonQuery();
Cn.Close();

ESPERO TER AJUDADO!

Você também pode gostar