Ir ao conteúdo
  • Cadastre-se

Problema com Insert C#


distrutor

Posts recomendados

Boa noite pessoal,

Estou tentando fazer um formulário beeemm simples em C#, porém quando faço o insert esta dando um erro que não tive antes.

"Erro Cannot insert the value NULL into column 'Empresa_ID', table 'caminho_do_banco'; column does not allow nulls. INSERT fails."

O campo da tabela realmente está definido como PK e como identidade com incremento de 1 em 1, sendo assim realmente será Not Null.

Segue abaixo o código que estou usando, (se houver muitos erros peguem leve, estou começando a programar e antes de começar um curso estou tentando aprender sozinho).

FORM1.cs


public partial class frm_Cadastro : Form
{

AcessoBD acessoBanco = new AcessoBD();

public frm_Cadastro()
{
InitializeComponent();
}

private void btn_gravar_Click(object sender, EventArgs e)
{

try
{

string inserir = "insert into EMPRESA (Cnpj, Razao_Social, Nome_Fantasia, Agencia, Conta_Corrente, Banco) values (@cnpj, @razao, @fantasia, @agencia, @ccorrente, @banco)";
string[] campos = {"@cnpj", "@razao", "@fantasia", "@agencia", "@ccorrente", "@banco"};
string[] dados = {tbx_cnpj.Text, tbx_razaoSocial.Text, tbx_nomeFant.Text, tbx_agencia.Text, tbx_contaCorrente.Text, cbx_nBanco.Text};

acessoBanco.Cadastrar(campos, dados, inserir);

}

catch (Exception ex)
{
MessageBox.Show("Erro " + ex.Message);
}

}

Segue abaixo a classe de acesso ao banco:



public class AcessoBD
{
private SqlConnection strcon = null;


public AcessoBD()
{
strcon = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Alex\\Documents\\cadastroBD.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
}


public int Cadastrar(string[] campos, string[] dados, string inserir)
{
int registros = -1;

try
{
strcon.Open();
SqlCommand comando = new SqlCommand(inserir, strcon);
comando.CommandType = CommandType.Text;
comando.CommandText = inserir;

for (int i = 0; i < dados.Length; i++)
{
comando.Parameters.AddWithValue(campos[i], dados[i]);
}

registros = comando.ExecuteNonQuery();
return registros;
}
catch (Exception ex)
{
throw ex;
}
finally
{
strcon.Close();
}
}

Obrigado desde já pessoal!

Abs.

Link para o comentário
Compartilhar em outros sites

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...

APRENDA A MONTAR COMPUTADORES!

montagem2022-capa-peq.jpg

 

CLIQUE AQUI E BAIXE AGORA MESMO!