Ir ao conteúdo
  • Cadastre-se

Ajuda Instrução - INSERT (C#)


fabioargenton

Posts recomendados

Fala pessoal poderiam me ajudar com um problema:

Primeiro vou mostrar a base do meu projeto para vocês entenderem:

Banco de Dados: Access

Linguagem: C#

Relações:

sgvc.jpg

Código para Inserir Registro:


DataSet dSet = new DataSet();
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Banco de Dados - SGV\\Banco de Dados.mdb");
OleDbDataAdapter dAdapter = new OleDbDataAdapter();

////////Comando Cadastrar Registro
private void cadastrarCliente()
{
dAdapter.InsertCommand = new OleDbCommand("INSERT INTO TBL_Clientes VALUES (@Perfil, @RazaoSocial, @CNPJ, @InscricaoEstadual, @Endereco, @Numero, @Bairro, @Cidade, @Telefone, @Celular, @E-mail, @Observações)", aConnection);

dAdapter.InsertCommand.Parameters.Add("@Perfil", OleDbType.VarChar).Value = perfilTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@RazaoSocial", OleDbType.VarChar).Value = razao_SocialTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@CNPJ", OleDbType.VarChar).Value = cNPJTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@InscricaoEstadual", OleDbType.VarChar).Value = inscricao_EstadualTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Endereco", OleDbType.VarChar).Value = enderecoTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Numero", OleDbType.VarChar).Value = numeroTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Bairro", OleDbType.VarChar).Value = bairroTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Cidade", OleDbType.VarChar).Value = cidadeTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Telefone", OleDbType.VarChar).Value = telefoneTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Celular", OleDbType.VarChar).Value = celularTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Email", OleDbType.VarChar).Value = e_mailTextBox.Text;
dAdapter.InsertCommand.Parameters.Add("@Observações", OleDbType.VarChar).Value = observaçõesTextBox.Text;

aConnection.Open();
dAdapter.InsertCommand.ExecuteNonQuery();
//exibirDados();
aConnection.Close();
}

////////Botão Cadastrar Registro
private void btnCadastrar_Click(object sender, EventArgs e)
{
try
{
if (perfilTextBox.Text != "" && razao_SocialTextBox.Text != "")
{
cadastrarCliente();
MessageBox.Show("Cadastrado realizado com sucesso");
}
else
{
//Se os campos não estiverem preenchido
MessageBox.Show("Os campos [ Perfil e Razão Social ] são Obrigatórios!", "Atenção");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

O Problema: Quando Preencho o formulário e clico no botão Cadastrar aparece a seguinte mensagem de erro:

erroph.jpg

Por Favor alguém poderia me ajudar.

Link para o comentário
Compartilhar em outros sites

Bom dia,

Isso ocorreu porque você não definiu quais campos você queria preencher:

Campos da tabela

Cliente (Que deve ser auto-increment)

Perfil

RazaoSocial

CNPJ

InscricaoEstadual

Endereco

Numero

Barro

Cidade

Telefone

Celular

Observacoes

Campos Preenchidos

Perfil

RazaoSocial

CNPJ

InscricaoEstadual

Endereco

Numero

Barro

Cidade

Telefone

Celular

Observacoes

Campos Inexistentes

E-mail

É necessário orientar o MySQL ou outro SGBD, quais campos você quer preencher ou então colocar todos os campos na ordem que está na tabela, então deveria ficar assim:

INSERT INTO TBL_Clientes (Perfil,RazaoSocial,CNPJ,InscricaoEstadual,Endereco,Numero,Barro,Cidade,Telefone,Celular,Observacoes) VALUES(@Perfil, @RazaoSocial, @CNPJ, @InscricaoEstadual, @Endereco, @Numero, @Bairro, @Cidade, @Telefone, @Celular, @E-mail, @Observações)

Dessa forma você pode omitir os campos que são AUTO_INCREMENT e os que NÃO tem a restrição NOT NULL.

Dá um feedback depois.

Obs.: É extremamente recomendável que se use nomes de tabelas e campos todos em minúsculo e sem acentuação pois se colocar o sistema na WEB por exemplo, se esquecer do maiúsculo dá erro de sintaxe.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • 4 semanas depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!