Rafa 1850 0 Denunciar post Postado Outubro 29, 2009 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
quintelab 91 Denunciar post Postado Outubro 29, 2009 De uma olhada: http://authors.aspalliance.com/stevesmith/articles/convertReadertoSet.asp Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Novembro 3, 2009 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 . reade 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 Trye 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
quintelab 91 Denunciar post Postado Novembro 3, 2009 Acho que é isso que quer: http://www.macoratti.net/vbn_dts1.htm Mas trabalhar com DataSet é um pouco mais lento. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites