none
Trabalhar com valores de textbox criado em tempo de execução

    Question

  • Crio alguns texts da seguinte maneira:

    For i = 1 To UBound(txtbox)
    txtbox(i) =
    New TextBox()
    txtbox(i).Size =
    New System.Drawing.Size(184, 23)
    txtbox(i).Location =
    New System.Drawing.Point(x, y)
    txtbox(i).Name =
    "Text" & i
    SEGURADO.TextBox9.Text = SEGURADO.TextBox9.Text &
    "Text" & i & ".text, " SEGURADO.TabControl1.TabPages(SEGURADO.TabControl1.TabPages.Count - 1).Controls.Add(txtbox(i))
      y += 23
    Next

    Na linha SEGURADO.TextBox9.Text = SEGURADO.TextBox9.Text & "Text" & i & ".text, " coloco todos os meus texts dentro de um edit que esta em outro formulário. Este edit eu chamo na seguinte instrução SQL:

    SqlCommand5.CommandText = "Insert into TPL" & Label64.Text & " (" & TextBox8.Text & ")" & " values (" & TextBox9.Text & ")"

    Mas ele não entende os textsbox e dá erro. Gostaria de saber como posso trabalhar com valores adicionados nos meus texts em tempo de execução. Como posso mandar esses valores em uma SQL???

    Obrigado

    Thursday, March 01, 2007 7:39 PM

Answers

All replies

  • O que você quer dizer com: "entende os textsbox e dá erro"?

    Qual o erro? qual o valor do CommandText?

    Thursday, March 01, 2007 7:56 PM
  • No meu textbox9.text coloco o nome dos meus texts box (text1.text, text2.text...). Utilizo a seguinte instrução
    SqlCommand5.CommandText = "Insert into TPL" & Label64.Text & " (" & TextBox8.Text & ")" & " values (" & TextBox9.Text & ")"

    O valor do meu comammandtext fica assim "insert into TPLCARRO (c1, c2) values (text1.text, text2.text)

    O erro é o seguinte:

    "The name "Text1.text" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted."

    Thursday, March 01, 2007 8:05 PM
  • O problema é que provavelmente os campos c1 e c2 são string, você não está passando strings. O correto seria os valores text1.text e text2.text estarem dentro de aspas simples, assim: ('text1.text', 'text2.text')
    Thursday, March 01, 2007 8:11 PM
  • Mas estando em aspas simples o valor que guardei no banco é 'text1.text' e eu precisaria guradar o valor inserido dentro do text1.text criado em tempo de execução. Exemplo text1.text recebe o valor "DAVI".
    Thursday, March 01, 2007 8:23 PM
  • Alguém teria alguma idéia de como fazer isso??
    Friday, March 02, 2007 12:14 PM
  • Davi,

    Eu explico como trabalhar com controles criados em tempo de execução no meu blog, confira no endereço abaixo:

    http://thespoke.net/blogs/fbcjunior/archive/2006/10/23/AddControleWindowsForms.aspx

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx
    Friday, March 02, 2007 12:20 PM
  • Davi, o problema é que quando você monta a linha abaixo

    SEGURADO.TextBox9.Text = SEGURADO.TextBox9.Text & "Text" & i & ".text, "

    Você está concatenando strings, ou seja, quando você for atribuir isso a sua string SQL o que vai é a string "text1.text" e não o valor de text1.text.

    Friday, March 02, 2007 1:23 PM