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

Loop no vb.net


Tiago_BB

Pergunta

Ola pessoal estou com umk problema e não to conseguindo resolver!!!

em um determinado momento do meu código faço um FOR/NEXT percorrendo um datatable e verificando se uma determinada imagem existe em uma pasta no C:.

For cont = 0 To DT.Rows.Count - 1
  
       If ExisteFoto(Convert.ToString(DT.Rows(cont).Item(2)).Trim) = True Then
             
next
Até ai beleza... mais o que acontece? Dentro desse FOR faço chamada a uma função, e nessa funcao eu crio um novo datatable e insiro uma nova coluna e uma nova linha. Ex:
For cont = 0 To DT.Rows.Count - 1
  
       If ExisteFoto(Convert.ToString(DT.Rows(cont).Item(2)).Trim) = True Then

             ImageTable(C:/"Imagens/" DT.Rows(cont).Item(2) & ".jpg"))
             
next
-------------------------------------------------------------------------
Public Shared Function ImageTable(ByVal path As String) As DataTable

         Dim data As New DataTable
         Dim row As DataRow
         data.TableName = "Imagem"
         data.Columns.Add("IMAGE", System.Type.GetType("System.Byte[]"))

            Dim fs As New FileStream(ImageFile, FileMode.Open)
            Dim br As New BinaryReader(fs)
            row = data.NewRow()
            row(0) = br.ReadBytes(br.BaseStream.Length)
            data.Rows.Add(row)

            br = Nothing
            fs.Close()
            fs = Nothing

            Return data

end function

-------------------------------------------------------------------------------------------

Caso o meu Datatable( não o da função ) tenha apenas um registro, beleza, ele exibe, caso contrario, vai devolver sempre a ultima imagem... tenho que fazer um for dentro da funcao pra ir inserindo linhas toda vez que passar por la.

Entenderam... fui mais ou menos claro?? rs

Espero que possam me ajudar!!!

Atenciosamente,

Tiago

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

isso.. tentei fazer o seguinte: passei como parametro para a funcao o contador do meu datatabel

Public Shared Function ImageTable(ByVal path As String, [b]byval cont as integer[/b]) As DataTable

         Dim data As New DataTable
         Dim row As DataRow
         data.TableName = "Imagem"
         data.Columns.Add("IMAGE", System.Type.GetType("System.Byte[]"))

            Dim fs As New FileStream(ImageFile, FileMode.Open)
            Dim br As New BinaryReader(fs)
            row = data.NewRow()
            row([b]cont[/b]) = br.ReadBytes(br.BaseStream.Length)
            data.Rows.Add(row)

            br = Nothing
            fs.Close()
            fs = Nothing

            Return data

end function

Porém da erro... pois o row do tipo datarow espera como oarametro uma coluna e não linha... e ae.. o que faço?

quero inserir linha!!!

obrigado!!!

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

  • 0

entaum...

Eu tenho que adicionar n linhas nessa coluna...

se eu der "data.Rows.Add(row)" ele sempre vai adicionar a ultim linha a ser inserida... ou seja.... se meu datatable tem 2 imagens... vai adicionar sempre a segunda imagem...

Estou correto?

Obrigado pelo interesse!!!

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...