Array
(
)

Insert pegando valores de campos criados dinamicamente

Ramon Santos
   - 23 jan 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
#Código
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 {0} <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
#Código
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();

Chiodini
   - 27 jan 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

Ramon Santos
   - 28 jan 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.

Chiodini
   - 28 jan 2014

Entao,

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

att,
Chiodini