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

Consultas Rápidas: Recordset X Command


Musashi_RS

Pergunta

Olá, possuo um banco com várias tabelas (Clientes, produtos, pedidos, etc) e, no programa que estou fazendo gostari de informar logo no inicio do programa, uma quadro geral do banco, informando quantos clientes cadastrados, quantos produtos em estoque, quantos pedidos pendentes, etc.

Estou fazendo pelo método Open do recordset, mas acho que é desperdício de memória e processamento, embora ainda não tenha notado lentidão. Estou fazendo assim:

'Abre a conexão com o banco de dados
  AbrirBanco
  
  Set TBSemi = New ADODB.Recordset

  '-------------------------------
  'Abre o recordset (Semi)
  Set TBSemi = New ADODB.Recordset
  TBSemi.Open "SELECT * FROM TSemi UNION ALL SELECT * FROM TSemiAluno ORDER BY Tipo", BANCO, adOpenStatic, adLockOptimistic
  
  'Informa no painel
  LblSemi.Caption = TBSemi.RecordCount
  TBSemi.Close
  '-------------------------------
  'Abre o recordset (Pendencias)
  Set TBSemi = New ADODB.Recordset
  TBSemi.Open "SELECT * FROM TOS WHERE Situacao = 'Pendente'", BANCO, adOpenStatic, adLockOptimistic
    
  'Informa no painel
  LblPendencias.Caption = TBSemi.RecordCount
  TBSemi.Close
  '-------------------------------
  'Abre o recordset (Produtos)
  Set TBSemi = New ADODB.Recordset
  TBSemi.Open "SELECT * FROM TProdutos", BANCO, adOpenStatic, adLockOptimistic
    
  'Informa no painel
  LblProdutos.Caption = TBSemi.RecordCount
  TBSemi.Close
  '-------------------------------
  'Abre o recordset (Clientes)
  Set TBSemi = New ADODB.Recordset
  TBSemi.Open "SELECT * FROM TClientes", BANCO, adOpenStatic, adLockOptimistic
    
  'Informa no painel
  LblClientes.Caption = TBSemi.RecordCount
  TBSemi.Close
  '-------------------------------
  
  'Fecha o recordset
  Set TBSemi = Nothing
  
  'Fecha o banco
  BANCO.Close
  Set BANCO = Nothing

Esse método está certo? Pode melhorar em desempenho?

Vlw :lol:

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Estou fazendo pelo método Open do recordset, mas acho que é desperdício de memória e processamento, embora ainda não tenha notado lentidão.

opa, acho q só o q não precisa é ficar setando toda hora o recordset como novo (Set TBSemi = New ADODB.Recordset). você so precisaria fazer isso da primeira vez, nas outras, acho q você pode apagar essa linha q deve funcionar.

e tb o select count do graymalkin deve dexar mais rapido (muito mais rapido quando a tabela tiver bastante registros) tb.

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,2k
    • Posts
      652k
×
×
  • Criar Novo...