MANIPULANDO DATASET

GGERMINIANI 23/07/2017 22:50:33
#475362
Pessoal,
Boa noite.

Gostaria de recorrer a vcs com essa dúvida.

Na minha aplicação com bd access, tenho o seguinte trecho de código:

  _query = [Ô]Select * From PRODUTO Where ID_PROD_INTERNO = @id[Ô]
Dim comm5 As OleDbCommand = New OleDbCommand(_query, _cn)
comm5.Parameters.AddWithValue([Ô]@id[Ô], registro4([Ô]C.ID_PROD_INTERNO[Ô]).ToString)
Dim da5 As OleDbDataAdapter = New OleDbDataAdapter(comm5)
Dim ds5 As DataSet = New DataSet()
da5.Fill(ds5, [Ô]COMP5[Ô])
Dim Linhas5() As DataRow = ds5.Tables([Ô]COMP5[Ô]).Select


Beleza... até aqui OK.

Após preencher meu dataset (ds5) com essa query, faço diversos cálculos.... feito esses cálculos, chego a conclusão de qual o ID correto, e dentro dessa linha, deveria buscar o valor de uma coluna específica.

Na prática, seria o seguinte. Pesquiso um grupo na minha tabela PRODUTOS, e após uma análise, o produto que eu tenho que usar é o ID_PROD = 6, dentro dessa linha preciso do valor da coluna FATOR_CONVERSAO.

Ao invés de eu executar uma nova query para pegar esse fator, não há como eu fazer uma pesquisa dentro do meu dataset (ds5) que já está populado com essas informações?

Estava tentando algo como:

 Dim rows() As DataRow = ds5.Tables(0).Select([Ô]FATOR_CONV[Ô]).Where(ds5.Tables([Ô]COMP5[Ô])).Columns([Ô]ID_PRODUTO[Ô]) Is _IDPROD)


A forma que estou usando o where está errada.

Obrigado.
KERPLUNK 23/07/2017 23:04:40
#475363
1 - O que impede de fazer esses cálculos todos com SQL?
2 - Porque usar DataSet? Porque não POCO e List<T>? São muito mais leves
3 - Comece a acostumar-se com nomenclatura mais clara. Nomes come [Ô]ds1[Ô], [Ô]ds2[Ô], [Ô]comm5[Ô], não são uma boa prática, ainda mais quando você usa múltiplos objetos, acaba que você mesmo se confunde.

GGERMINIANI 23/07/2017 23:11:49
#475364
KERPLUNK,
Boa noite.

Para ser sincero, tudo que eu mais queria era ter feito isso com um simples select.

De fato, como vc mesmo diz, ds1, ds2, ds3........ todos esses múltiplos objetos [Ô]fui obrigado[Ô] a criar pq tive que desmembrar meu select. Tenho um tópico que abri a pouco tempo, pois não faço ideia o do pq meus selects com mais de 2 inner joins não estão funcionando... acredito que deva ser algum bug por access...

mas enfim. Sobre POCO e LIST<T>, é pq eu não sei como usar memso
KERPLUNK 24/07/2017 08:18:12
#475365
Pois então, o que te impede de fazer tudo em uma só consulta SQL? De onde vêm os dados que você precisa? Qual a estrutura do banco e o que você quer fazer?
Tópico encerrado , respostas não são mais permitidas