View Full Version : Busca na tabela


Isadora
08-09-2006, 07:47 PM
Boa tarde pessoal!
Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
estou apanhando um pouco.

Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
Simples, mas não estou conseguindo....

Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
Dim sql As String
Dim cmd As New SqlCeCommand(sql, conn)
Dim readDados As SqlCeDataReader

sql = "SELECT * FROM tbcliente WHERE codcli=" & _
cbCodCli.Items(cbCodCli.SelectedIndex)

cmd = New SqlCeCommand(sql, conn)
conn.Open()
readDados = cmd.ExecuteReader

If readDados.Read Then
txtCliente.Text = readDados.Item("razaosoc")
txtRua.Text = readDados.Item("rua")
End If
conn.Close()
End Sub

PS: Alguem sabe onde pode conseguir um material de ajuda na net?

Obrigada
Dora

Isadora
08-10-2006, 01:16 PM
Oi Pessoal,
Eu consegui fazer isso resolver.... mas será que essa solução é a melhor?
Porque se eu ja tenho a tabela com indice no codigo, e quero buscar os
registros de um codigo especifico, não teria uma forma de ir direto tipo: um
seek ou find, sem ter que usar a select.
Imagino a tabela completa que são 10.000 registros e eu tenho que usar esse
codigo abaixo, será que não ficaria lento? Alguem tem uma forma melhor para
fazer essa busca? Estou apanhando a bessa dessa linguagem, estou iniciando
com ela agora.......
Obrigada

Dora

"Isadora" escreveu:

> Boa tarde pessoal!
> Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
> estou apanhando um pouco.
>
> Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
> combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
> Simples, mas não estou conseguindo....
>
> Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
> ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
> cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
> Dim sql As String
> Dim cmd As New SqlCeCommand(sql, conn)
> Dim readDados As SqlCeDataReader
>
> sql = "SELECT * FROM tbcliente WHERE codcli=" & _
> cbCodCli.Items(cbCodCli.SelectedIndex)
>
> cmd = New SqlCeCommand(sql, conn)
> conn.Open()
> readDados = cmd.ExecuteReader
>
> If readDados.Read Then
> txtCliente.Text = readDados.Item("razaosoc")
> txtRua.Text = readDados.Item("rua")
> End If
> conn.Close()
> End Sub
>
> PS: Alguem sabe onde pode conseguir um material de ajuda na net?
>
> Obrigada
> Dora

Olavo Filho
08-17-2006, 07:33 PM
Deixa vê se entendi...
Vc tem uma tabela de cliente com 10.000 linhas e as colocou no combo?
Mas qual o cenário da aplicação? é de venda? e um vendedor vende para 10mil
clientes e estes cliente pertencem a mesma rota?

Talvés vc não precisa ter todos os clientes ao mesmo tempo no combo e nem no
banco do pocket.

--
Grato,

Olavo Castro Filho
Arquiteto de Software


"Isadora" escreveu:

> Oi Pessoal,
> Eu consegui fazer isso resolver.... mas será que essa solução é a melhor?
> Porque se eu ja tenho a tabela com indice no codigo, e quero buscar os
> registros de um codigo especifico, não teria uma forma de ir direto tipo: um
> seek ou find, sem ter que usar a select.
> Imagino a tabela completa que são 10.000 registros e eu tenho que usar esse
> codigo abaixo, será que não ficaria lento? Alguem tem uma forma melhor para
> fazer essa busca? Estou apanhando a bessa dessa linguagem, estou iniciando
> com ela agora.......
> Obrigada
>
> Dora
>
> "Isadora" escreveu:
>
> > Boa tarde pessoal!
> > Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
> > estou apanhando um pouco.
> >
> > Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
> > combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
> > Simples, mas não estou conseguindo....
> >
> > Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
> > ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
> > cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
> > Dim sql As String
> > Dim cmd As New SqlCeCommand(sql, conn)
> > Dim readDados As SqlCeDataReader
> >
> > sql = "SELECT * FROM tbcliente WHERE codcli=" & _
> > cbCodCli.Items(cbCodCli.SelectedIndex)
> >
> > cmd = New SqlCeCommand(sql, conn)
> > conn.Open()
> > readDados = cmd.ExecuteReader
> >
> > If readDados.Read Then
> > txtCliente.Text = readDados.Item("razaosoc")
> > txtRua.Text = readDados.Item("rua")
> > End If
> > conn.Close()
> > End Sub
> >
> > PS: Alguem sabe onde pode conseguir um material de ajuda na net?
> >
> > Obrigada
> > Dora

Isadora
08-18-2006, 07:40 PM
Oi Olavo.

São 10 mil registros de produto, mas acho que resolvi....
bom coloquei o codigo em um combo e a descrição dos itens em outro compo,
qdo o vendedor seleciona o produto aí vou na tabela e busco as demais
informações.

Obrigada por me responder.

abraços

Dora

"Olavo Filho" escreveu:

> Deixa vê se entendi...
> Vc tem uma tabela de cliente com 10.000 linhas e as colocou no combo?
> Mas qual o cenário da aplicação? é de venda? e um vendedor vende para 10mil
> clientes e estes cliente pertencem a mesma rota?
>
> Talvés vc não precisa ter todos os clientes ao mesmo tempo no combo e nem no
> banco do pocket.
>
> --
> Grato,
>
> Olavo Castro Filho
> Arquiteto de Software
>
>
> "Isadora" escreveu:
>
> > Oi Pessoal,
> > Eu consegui fazer isso resolver.... mas será que essa solução é a melhor?
> > Porque se eu ja tenho a tabela com indice no codigo, e quero buscar os
> > registros de um codigo especifico, não teria uma forma de ir direto tipo: um
> > seek ou find, sem ter que usar a select.
> > Imagino a tabela completa que são 10.000 registros e eu tenho que usar esse
> > codigo abaixo, será que não ficaria lento? Alguem tem uma forma melhor para
> > fazer essa busca? Estou apanhando a bessa dessa linguagem, estou iniciando
> > com ela agora.......
> > Obrigada
> >
> > Dora
> >
> > "Isadora" escreveu:
> >
> > > Boa tarde pessoal!
> > > Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
> > > estou apanhando um pouco.
> > >
> > > Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
> > > combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
> > > Simples, mas não estou conseguindo....
> > >
> > > Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
> > > ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
> > > cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
> > > Dim sql As String
> > > Dim cmd As New SqlCeCommand(sql, conn)
> > > Dim readDados As SqlCeDataReader
> > >
> > > sql = "SELECT * FROM tbcliente WHERE codcli=" & _
> > > cbCodCli.Items(cbCodCli.SelectedIndex)
> > >
> > > cmd = New SqlCeCommand(sql, conn)
> > > conn.Open()
> > > readDados = cmd.ExecuteReader
> > >
> > > If readDados.Read Then
> > > txtCliente.Text = readDados.Item("razaosoc")
> > > txtRua.Text = readDados.Item("rua")
> > > End If
> > > conn.Close()
> > > End Sub
> > >
> > > PS: Alguem sabe onde pode conseguir um material de ajuda na net?
> > >
> > > Obrigada
> > > Dora

renan
08-24-2006, 01:01 PM
Oi Isadora ! Desculpe intrometer-me no assunto ... mas tu colocaste 10.000
itens em uma combombox e mais 10.000 em outra ? em um pocket !
Acho que não é uma boa pratica.
Como ficou a performance do sistema ?
Abraço

"Isadora" escreveu:

> Oi Olavo.
>
> São 10 mil registros de produto, mas acho que resolvi....
> bom coloquei o codigo em um combo e a descrição dos itens em outro compo,
> qdo o vendedor seleciona o produto aí vou na tabela e busco as demais
> informações.
>
> Obrigada por me responder.
>
> abraços
>
> Dora
>
> "Olavo Filho" escreveu:
>
> > Deixa vê se entendi...
> > Vc tem uma tabela de cliente com 10.000 linhas e as colocou no combo?
> > Mas qual o cenário da aplicação? é de venda? e um vendedor vende para 10mil
> > clientes e estes cliente pertencem a mesma rota?
> >
> > Talvés vc não precisa ter todos os clientes ao mesmo tempo no combo e nem no
> > banco do pocket.
> >
> > --
> > Grato,
> >
> > Olavo Castro Filho
> > Arquiteto de Software
> >
> >
> > "Isadora" escreveu:
> >
> > > Oi Pessoal,
> > > Eu consegui fazer isso resolver.... mas será que essa solução é a melhor?
> > > Porque se eu ja tenho a tabela com indice no codigo, e quero buscar os
> > > registros de um codigo especifico, não teria uma forma de ir direto tipo: um
> > > seek ou find, sem ter que usar a select.
> > > Imagino a tabela completa que são 10.000 registros e eu tenho que usar esse
> > > codigo abaixo, será que não ficaria lento? Alguem tem uma forma melhor para
> > > fazer essa busca? Estou apanhando a bessa dessa linguagem, estou iniciando
> > > com ela agora.......
> > > Obrigada
> > >
> > > Dora
> > >
> > > "Isadora" escreveu:
> > >
> > > > Boa tarde pessoal!
> > > > Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
> > > > estou apanhando um pouco.
> > > >
> > > > Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
> > > > combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
> > > > Simples, mas não estou conseguindo....
> > > >
> > > > Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
> > > > ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
> > > > cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
> > > > Dim sql As String
> > > > Dim cmd As New SqlCeCommand(sql, conn)
> > > > Dim readDados As SqlCeDataReader
> > > >
> > > > sql = "SELECT * FROM tbcliente WHERE codcli=" & _
> > > > cbCodCli.Items(cbCodCli.SelectedIndex)
> > > >
> > > > cmd = New SqlCeCommand(sql, conn)
> > > > conn.Open()
> > > > readDados = cmd.ExecuteReader
> > > >
> > > > If readDados.Read Then
> > > > txtCliente.Text = readDados.Item("razaosoc")
> > > > txtRua.Text = readDados.Item("rua")
> > > > End If
> > > > conn.Close()
> > > > End Sub
> > > >
> > > > PS: Alguem sabe onde pode conseguir um material de ajuda na net?
> > > >
> > > > Obrigada
> > > > Dora

Isadora
09-27-2006, 08:35 PM
Oi Pessoal!
Tive que dar uma parada no projeto, por isso não cheguei a ver todas as
respostas do meu topico, desculpe.
Renan vc tem razão, ainda não carreguei os 10.000 registros porque vou ter
que tratar as descrições que estão cheias de caracteres como ' '' * e o sql
rejeita, mas sei que vou ter problemas qto a performance.
Qual seria a melhor solução, será que alguem me ajuda nisso?
Pensei em o usuario digitar o inicio do produto por exemplo e eu listar os
produtos com as iniciais que ele digitou, ou por grupo do produto
(bebidas,limpeza etc).
Seria essa e melhor forma que vcs acham?

Obrigada


"renan" escreveu:

> Oi Isadora ! Desculpe intrometer-me no assunto ... mas tu colocaste 10.000
> itens em uma combombox e mais 10.000 em outra ? em um pocket !
> Acho que não é uma boa pratica.
> Como ficou a performance do sistema ?
> Abraço
>
> "Isadora" escreveu:
>
> > Oi Olavo.
> >
> > São 10 mil registros de produto, mas acho que resolvi....
> > bom coloquei o codigo em um combo e a descrição dos itens em outro compo,
> > qdo o vendedor seleciona o produto aí vou na tabela e busco as demais
> > informações.
> >
> > Obrigada por me responder.
> >
> > abraços
> >
> > Dora
> >
> > "Olavo Filho" escreveu:
> >
> > > Deixa vê se entendi...
> > > Vc tem uma tabela de cliente com 10.000 linhas e as colocou no combo?
> > > Mas qual o cenário da aplicação? é de venda? e um vendedor vende para 10mil
> > > clientes e estes cliente pertencem a mesma rota?
> > >
> > > Talvés vc não precisa ter todos os clientes ao mesmo tempo no combo e nem no
> > > banco do pocket.
> > >
> > > --
> > > Grato,
> > >
> > > Olavo Castro Filho
> > > Arquiteto de Software
> > >
> > >
> > > "Isadora" escreveu:
> > >
> > > > Oi Pessoal,
> > > > Eu consegui fazer isso resolver.... mas será que essa solução é a melhor?
> > > > Porque se eu ja tenho a tabela com indice no codigo, e quero buscar os
> > > > registros de um codigo especifico, não teria uma forma de ir direto tipo: um
> > > > seek ou find, sem ter que usar a select.
> > > > Imagino a tabela completa que são 10.000 registros e eu tenho que usar esse
> > > > codigo abaixo, será que não ficaria lento? Alguem tem uma forma melhor para
> > > > fazer essa busca? Estou apanhando a bessa dessa linguagem, estou iniciando
> > > > com ela agora.......
> > > > Obrigada
> > > >
> > > > Dora
> > > >
> > > > "Isadora" escreveu:
> > > >
> > > > > Boa tarde pessoal!
> > > > > Estou começando a desenvolver em .net para pocket pc (antes usava o eVB), e
> > > > > estou apanhando um pouco.
> > > > >
> > > > > Será que alguem pode me ajudar? Carreguei todos os codigos do cliente em um
> > > > > combo, e ao seleciona-lo quero que outros campos edit sejam preenchidos.
> > > > > Simples, mas não estou conseguindo....
> > > > >
> > > > > Private Sub cbCodCli_SelectedIndexChanged(ByVal sender As System.Object,
> > > > > ByVal e As System.EventArgs) Handles cbCodCli.SelectedIndexChanged
> > > > > cbRazaosoc.SelectedIndex = cbCodCli.SelectedIndex
> > > > > Dim sql As String
> > > > > Dim cmd As New SqlCeCommand(sql, conn)
> > > > > Dim readDados As SqlCeDataReader
> > > > >
> > > > > sql = "SELECT * FROM tbcliente WHERE codcli=" & _
> > > > > cbCodCli.Items(cbCodCli.SelectedIndex)
> > > > >
> > > > > cmd = New SqlCeCommand(sql, conn)
> > > > > conn.Open()
> > > > > readDados = cmd.ExecuteReader
> > > > >
> > > > > If readDados.Read Then
> > > > > txtCliente.Text = readDados.Item("razaosoc")
> > > > > txtRua.Text = readDados.Item("rua")
> > > > > End If
> > > > > conn.Close()
> > > > > End Sub
> > > > >
> > > > > PS: Alguem sabe onde pode conseguir um material de ajuda na net?
> > > > >
> > > > > Obrigada
> > > > > Dora

José Roberto Siqueira
09-28-2006, 12:30 PM
Quanto mais reduzida for a sua tabela a ser carregada, melhor será o seu
desempenho.

Tenho por exemplo uma tabela que contém 40.000 produtos e estão divididos em
Grupos e Sub Grupos, desta forma ao invés de carregar 40.000 produtos em
média carrego apenas 300. E ainda permito ao usuário fazer uma pesquisa e
assim eu filtro e permito que somente os itens que foram pesquisados sejam
exibidos.
José Roberto Siqueira
RMGR Soluções e Serviços em Mobile
MSN: jrsiqueira@hotmail.com | SkypeID: jrsiqueira
Meu livro "Programação do Pocket PC com eMbedded Visual Basic" já à venda.
Meu blog sobre mobilidade: http://spaces.msn.com/jrsiqueira/blog


"Isadora" <Isadora@discussions.microsoft.com> escreveu na mensagem
news:49E7B0B5-0E6F-4A67-9883-7407EAF01121@microsoft.com...
> Oi Pessoal!
> Tive que dar uma parada no projeto, por isso não cheguei a ver todas as
> respostas do meu topico, desculpe.
> Renan vc tem razão, ainda não carreguei os 10.000 registros porque vou ter
> que tratar as descrições que estão cheias de caracteres como ' '' * e o
> sql
> rejeita, mas sei que vou ter problemas qto a performance.
> Qual seria a melhor solução, será que alguem me ajuda nisso?
> Pensei em o usuario digitar o inicio do produto por exemplo e eu listar os
> produtos com as iniciais que ele digitou, ou por grupo do produto
> (bebidas,limpeza etc).
> Seria essa e melhor forma que vcs acham?
>
> Obrigada