Ir para conteúdo

Arquivado

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

Alanderson Silva

Usar campo criado dinamicamente posteriormente C#

Recommended Posts

Boa noite galera,

 

Sou leigo no que diz respeito a C#

 

Estou criando combobox de forma dinâmica, crio o número de combobox informado pelo usuário.

 

Estou buscando os valores do combobox no banco de dados, até aí tudo certo.

 

Acontece que quando quero enviar os dados, tento ler o valor desses combobox criados dinâmicamente, por exemplo:

 

MySqlCommand command1 = new MySqlCommand("INSERT INTO prod_kit (idprod_kit, idkit,idproduto)" +
"VALUES('1','1','" + cbParticipante/*aqui teria um I do loop*/.Value + "')", mConn);

 

Mas o Visual Studio acusa o erro que a variável não existe, certo, no momento de compilação, mas no momento de execução irá existir, como posso fazer para que ele aceite esta variável para que ela exista na execução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você só poderia utilizar o "i' do loop caso as comboboxes fossem um Array de objetos, dê uma olhada neste tópico que você vai entender como criar um array de objetos.

 

Imaginando que você tivesse um array de objetos deste tipo você precisaria de muito tempo alem de ter que adicionar todos os objetos por programação.

 

Uma forma que eu acho "viável" seria usar o ForEach

 

Um exemplo:

 

ForEach (ComboBox cmb in this.Controls) {


MySqlCommand command1 = new MySqlCommand("INSERT INTO prod_kit (idprod_kit, idkit,idproduto)" +
"VALUES('1','1','" + cmb.Value + "')", mConn);

<conexão>.Open();
command1.ExecuteNonQuery();
<conexão>.Close()

}

 

 

Ele passaria por todas as comboboxes adicionando os valores, mas cuidado, você estará adicionando valores identicos no Id, que deve ser uma PK, logo você precisará de um ou mais contadores para fazer dar certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.