Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Carregar array de string a partir de um datatable


Tiago_BB

Pergunta

Ola pessoal.

Estou com uma dúvida.

Tenho um array declarado da seguinte forma:

Dim arrCodigo() As String
Dim arrDescricao() As String
Tenho um datatable que possue duas colunas (CODIGO e NOME) Como faço para carregar os arrays com as devidas colunas do datatable. já tentei de várias maneiras mas não da certo. Ex.:
For conta As Integer = 0 To dt.Rows.Count - 1
      arrCodigo = dt.Rows(conta)(0)
      arrDescricao = dt.Rows(conta)(1)
Next

Mas não da certo.

Alguém pode me ajudar??

Atte.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Existe uma maneira mais fácil de trabalhar com array, procure por ArrayList no fórum ou no google, você acha fácil.

O que você quer agora é isso:

For conta As Integer = 0 To dt.Rows.Count - 1
            ReDim Preserve arrCodigo(conta)
            ReDim Preserve arrDescricao(conta)
            arrCodigo(conta) = dt.Rows(conta)(0)
            arrDescricao(conta) = dt.Rows(conta)(1)
Next

Link para o comentário
Compartilhar em outros sites

  • 0
Não entendi esse trecho:

ReDim Preserve arrCodigo(conta)
ReDim Preserve arrDescricao(conta)
Pode me explicar? Agradeço desde já!
O array é preservado e redimensionado, ou mais fácil, aumenta o número de elementos de seu array sem perder sem perder seu conteúdo. Somente como exemplo, se você tivesse feito conforme abaixo, você teria um array com 4 elementos
Dim arrCodigo(3) As String
Dim arrDescricao(3) As String
e poderia carrega-lo pegando apenas 4 linhas do datatable, assim:
For conta As Integer = 0 To 3
      arrCodigo(i) = dt.Rows(conta)(0)
      arrDescricao(i) = dt.Rows(conta)(1)
Next
O que você fez foi declarar um array dinâmico, neste momento seu array não tem nenhum elemento
Dim arrCodigo() As String
Dim arrDescricao() As String
ao usar o código abaixo, seu array vai sendo aumentado de acordo com o número de linhas do datatable, se seu datatable tiver 5 linhas, seu array terá 5 elementos e estes serão carregados.
For conta As Integer = 0 To dt.Rows.Count - 1
            ReDim Preserve arrCodigo(conta)
            ReDim Preserve arrDescricao(conta)
            arrCodigo(conta) = dt.Rows(conta)(0)
            arrDescricao(conta) = dt.Rows(conta)(1)
Next

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...