Usuário com melhor resposta
INSERIR com chave estrangeira C# e MYSQL

Pergunta
-
tenho 4 tabelas
======PRODUTOS======
COD_P = INT primária
NOME_PRODUTO = VARCHAR
COD_MARCA = INT chave estrangeira de COD_MARCA
COD_TIPO = INT chave estrangeira de COD_TIPO
COD_GURPO = INT chave estrangeira de COD_GRUPO
=====MARCA==========
COD_MARCA = INT primario
NOME_MARCA = varchar
======GRUPO========
COD_GRUPO = INT primario
NOME_GRUPO = varchar
======TIPO========
COD_TIPO = INT primario
NOME_TIPO = varchar
Quero fazer um insert na tabela produtos, com o meu form
meu form tem uma caixa de texto recebendo o nome do produto
combobox1 carrega NOME_MARCA
combobox2 carrega NOME_TIPO
combobox3 carrega NOME_GRUPO
porem como eu faço para inserir as chaves estrangeiras na tabela PRODUTOS
meu método
public void inserir()
{
if (c.con != null && c.con.State == ConnectionState.Open)
{
MySqlCommand cmd = new MySqlCommand("MINHA DÚVIDA", c.con);
//cmd.Connection.Open();
cmd.ExecuteNonQuery();
listar();
MessageBox.Show("Registro inserido com sucesso!");
Util.LimparCampos(new CadastraUsuarios());
}
else
{
MessageBox.Show("Houve um erro na conexão \n Verifique com o administrador ou tente novamente");
}
}
Respostas
-
Você deve fazer o Insert primeiro na tabela principal e na sequência nas tabelas que tem referências (chaves).
- Sugerido como Resposta Deric Ferreira segunda-feira, 27 de outubro de 2014 19:59
- Marcado como Resposta D3292 terça-feira, 28 de outubro de 2014 03:33
Todas as Respostas
-
Você deve fazer o Insert primeiro na tabela principal e na sequência nas tabelas que tem referências (chaves).
- Sugerido como Resposta Deric Ferreira segunda-feira, 27 de outubro de 2014 19:59
- Marcado como Resposta D3292 terça-feira, 28 de outubro de 2014 03:33
-
-
Apenas complementando: você poderia utilizar apenas o SelectedItem de cada ComboBox, sem necessariamente colocar o código em um label.
Por exemplo:
int codGrupo = (cbbGrupos.SelectedItem as Grupo).Codigo;
Isso, obviamente, se você tiver as classes de modelo bem definidas.
Abraço.
-
poderia me ajudar neste tópico?