Insert pegando valores de campos criados dinamicamente

23/01/2014

0

Boa tarde,

Criei uma serie de campos dinamicamente que estão funcionando sem problemas. O erro acontece quando vou gravar os registros no banco de dados.

1 - Quando mando gravar 12 linhas ele só insere 6. Talvez algum problema de queda de conexão.
2 - Os campos dinâmicos não estão pegando os valores.

Código que gera os campos
 for (int i = 1; i <= qtd; i++)
                    {
                        //Criando os controles

                        Label lbl = new Label();
                        lbl.ID = "lbl" + i.ToString();
                        lbl.Text = string.Format("<br/>Informe o valor  <br/>", i.ToString());

                        TextBox txt = new TextBox();
                        txt.ID = "txt" + i.ToString();
                        txt.Columns = 30;


                        switch (i)
                        {
                            case 1:
                                resposta = hoje.AddDays(5);
                                break;
                            case 2:
                                resposta = hoje.AddDays(35);
                                SomaData = 30;
                                break;
                            default:
                                resposta = resposta.AddDays(SomaData);
                                break;
                        }

                        TextBox txtData = new TextBox();
                        txtData.ID = "txtData" + i.ToString();
                        txtData.Columns = 30;
                        txtData.Text = String.Format("{0:d}", resposta);

                        //Adicionando os controles a um container, no caso, um Panel
                        Panel1.Controls.Add(lbl);
                        Panel1.Controls.Add(txt);
                        Panel1.Controls.Add(txtData);
                    }


Inserção no banco de dados
                    try
                    {
                        Boolean insertFinanceiroParcela = apoliceDB.Insert("INSERT into financeiroapolicefaturamento (FINANCEIROAPOLICEFATURAMENTO_DSC_NUMEROAPOLICE, FINANCEIROAPOLICEFATURAMENTO_DAT_VENCIMENTO, FINANCEIROAPOLICEFATURAMENTO_NUM_PARCELA, FINANCEIROAPOLICEFATURAMENTO_DEC_VALOR, FINANCEIROAPOLICE_ID, FORMAPAGAMENTO_ID) values ('" + txtApolice.Text + "', '" + txtData + ix.ToString() + "', '" + ix + "', '" + txt + ix.ToString() + "', '" + financeiroApolice + "', '" + drpTipoPagamento + ix.ToString() + ".SelectedItem.Value" + "')");
                    }

                    catch (Exception ex)
                    {
                        Label1.Text = "Erro: " + ex.Message + "<BR>";
                    }

                    BLL.ConnDbMySQL.CloseDbConn();
Ramon Santos

Ramon Santos

Responder

Posts

27/01/2014

Leandro Chiodini

Bom dia amigo,
Qual a estrutura do campo que você esta tentando granvar?
esta usando ele como Varchar?

depende como esta criado seu campo do banco de dados ele tem um limite de caracteres e por isso corta parte do texto.


att,
Chiodini
Responder

28/01/2014

Ramon Santos

Os campos de texto são varchar, os de valores são DECIMAL.

O problema que estou tendo agora é que não consigo visualizar o erro. Já fiz alguns testes, reconfigurei o web.config para exibição de mensagens de erros.
Responder

28/01/2014

Leandro Chiodini

Entao,

O varchar suporta somente 256 caracteres
pode ser isso que esta cortando.

att,
Chiodini
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar