Insert pegando valores de campos criados dinamicamente

.NET

23/01/2014

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

Curtidas 0

Respostas

Leandro Chiodini

Leandro Chiodini

23/01/2014

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
GOSTEI 0
Ramon Santos

Ramon Santos

23/01/2014

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.
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

23/01/2014

Entao,

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

att,
Chiodini
GOSTEI 0
POSTAR