Olá amigos.
estou com um problema xato aqui.
Tenho UMA TABELA USUARIO E UMA TABELA CHAMADOS QUE ESTAO RELACIONADO PELO ID_USUARIO.
Bom na minha aplicação faço um insert na tabela Chamados com os campos no form, o problema é que quando mando fechar que chama to procedimento ele da o seguinte erro:
"A instrução INSERT conflitou com a restrição do FOREIGN KEY "FK_TBL_CHAMADOS_TBL_USUARIOS". O conflito ocorreu no bando de dados "DBHelp", tabela "dbo.TBL_USUARIOS", column 'ID_USER'. A instrução foi finalizada. "
Não Entendo, pois estão relacionada, a chave primaria esta na tabela usuário ID_USER e, a chave estrangeira esta na tabela chamados ID_USER, normal, sei lá.
Dei uma olhada no código da minha aplicação. Quem sabe não surge uma luz. Obrigado.
string str_comando = "INSERT INTO TBL_CHAMADOS (ID_EMPRESA,ID_USER,ID_PROBLEMA,DATA,DESCRICAO,RESPOSTA,STATUS)"
+ "VALUES(@ID_EMPRESA,@ID_USER,@ID_PROBLEMA,@DATA,@DESCRICAO,@RESPOSTA,@STATUS)";
SqlConnection con = new SqlConnection(str_conecta);
try
{
SqlCommand comando = new SqlCommand(str_comando, con);
comando.Parameters.Add(new SqlParameter("@ID_EMPRESA",radEmpresa.SelectedValue)); // Radio buuton não sei se é assim mesmo que pego o valor.
comando.Parameters.Add(new SqlParameter("@ID_USER",dropUsuario.SelectedValue)); // será que também esta certo ?
comando.Parameters.Add(new SqlParameter("@ID_PROBLEMA", droTipoProblema.SelectedValue)); // será que também esta certo ?
comando.Parameters.Add(new SqlParameter("@DATA", System.DateTime.Now));
comando.Parameters.Add(new SqlParameter("@DESCRICAO", txtProblema.Text));
comando.Parameters.Add(new SqlParameter("@RESPOSTA", txtResposta.Text));
comando.Parameters.Add(new SqlParameter("@STATUS", "0")); // Quero que fique com 0 para fazer uma consulta posteriormente.
con.Open();
comando.ExecuteNonQuery();
con.Close();
limpaDados();
lblMensagem.Text = "Chamado encerrado com sucesso!!";
}
catch (Exception err)
{
Response.Write(err.Message);
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}