Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafa 1850

Passar uma função que usa um data reader para que a mesma use Dataset

Recommended Posts

olá caros,

estou com um problema. Eu nao sei passar de DataReader para DataSet a minha função.

Jah fiz antes algo mais simples q consegui. mas agora não consigo fazer nada. não tenho mto ideia de como converter do datareader para o dataset

a operação que vou mostrar.

 

usando data reader

Private Sub Carrega()
        Dim NumMenus As Integer
        Dim sValOper As String = ""
        Dim j As Integer
        Dim mNode As TreeNode

        NumMenus = frmPrincipal.MenuPrincipal.Items.Count
        ReDim ValMenu(NumMenus)
        ReDim LevelMenu(NumMenus)

        sValOper = sValOper & StrDup(NumMenus, "0")

        Dim cldUsuário As New cldUsuários
        Dim cldBancoDados As New cldBancoDados

        Dim dr As OleDbDataReader

        'dr = cldBancoDados.RetornaDataReader("SELECT Tipo, MenuPrincipal FROM Usuários " & _
        ' "WHERE Id = " & _Id & " ")
        _Tipo = "Usuário"
        If dr.HasRows Then
            dr.Read()
            If Not IsDBNull(dr("menuprincipal")) Then
                sValOper = dr("menuprincipal")
                If Len(sValOper) < NumMenus Then
                    sValOper = sValOper & StrDup(NumMenus - Len(sValOper), "0")
                End If
            End If
            If Not IsDBNull(dr("tipo")) Then
                _Tipo = dr("tipo")
            End If
        End If
        For j = 1 To NumMenus
            mNode = treeView1.Nodes.Add(frmPrincipal.MenuPrincipal.Items(j - 1).Text)

            If Mid(sValOper, j, 1) = 0 Then
                mNode.SelectedImageIndex = 0
                mNode.ImageIndex = 0
                ValMenu(j) = False
            Else
                mNode.SelectedImageIndex = 1
                mNode.ImageIndex = 1
                ValMenu(j) = True
            End If

        Next
    End Sub

alguem pode me ajudar ? como eu fazer esses métodos do DR mas com " Dim dr As DATASET"

=(

eh q minha classe de banco n tem datareader.

e nao posso altera-la.

 

abraços,

 

Rafa[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm nao entendi mto bem camarada.

=/

vou dar um exemplo mais simpl,es do meu código

eu n consigo converter pq sou iniciante e n entendi ainda algumas coisas.

 

segue o exemplo de um DR q gostaria q mantesse a msm logica mas com DS

Dim dr As OleDbDataReader
                Dim cldBancoDados As New cldBancoDados
                Dim strQuery As New StringBuilder

                
                'dr = cldBancoDados.RetornaDataReader("SELECT Id FROM Produtos")
                'If dr.HasRows Then
                '    Do While dr.Read
                '        cldOperações.IdProdutos = dr("id")
                '        '                        cldOperações()
                '        cldOperações.RecalculaSaldo()
                '    Loop
                'End If
                CarregaGridEstoque()
                PosicionaGridEstoque()
ai tah usando operações do DR como .hasrows e . read

e como faria deste codigo usar um dataset?

eliminando o DR?

nao sei, seria algo parecido com:

 Dim strQuery As New StringBuilder

                'strQuery.Append("SELECT Id FROM Produtos ")
 Try
                'cldBancoDados.ExecuteNonQuery(My.Settings("Conexãobd"), CommandType.Text, strQuery.ToString, Nothing)
                ' Catch ex As Exception
                'MessageBox.Show(ex.ToString)
                ' End Try
e entao as operações "If dr.HasRows Then

' Do While dr.Read"

como usaria em dataset?

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.