Quantidade de linhas no DBComboBox
06/08/2004
0
Como vocês sabem exite no DBComboBox uma propriedade chamada Items e através de linhas de código eu insiro linhas para o usuário poder escolher uma opção, mas tem algum limite para essa inclusão? Abaixo estou enviando a rotina que eu executo para incluir linhas:
Query1.close;
Query1.Open;
While not Query1.EOF do
begin
DBComboBox1.Items.Add(Query1.FieldByName(´NomeCliente´).asString);
Query1.Next;
end;
Segundo um colega meu, após inserir uma certa quantidade de linhas o programa dava um aviso de erros do tipo: NÃO POSSO MAIS INSERIR LINHAS, ou algo desse tipo.
Se alguém puder me responder fico agradecido ou se alguém tiver uma rotina melhor também aceito sugestões.
Reginaldo
____________________________
Em terra de programador, quem tem Delphi é rei.
Ponce :)
Posts
06/08/2004
Vinicius2k
O limite é de 32.736 linhas, tentativa de inserção após este número irá gerar uma exceção do EOutOfResouces, com a mensagem que vc descreveu...
Espero ter ajudado...
T+
06/08/2004
Lucas Silva
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin Screen.Cursor := crHourGlass; for i := 0 to 150000 do DBComboBox1.Items.Add(IntToStr(i)); Screen.Cursor := crDefault; end;
pode fazer o teste, ai.... é só ter um pouco de paciência.....
:lol:
06/08/2004
Keitarosan
Esse limite não é do ComboBox nao Vina2K, mas sim do seu PC, hehe
tu acabou com os recursos do dele...
Aí Ponce, desse jeito que você faz, não é muito viável não, correr toda uma tabela dependendo do tamanho dela, pode ser beeem lento...
Aconselharia vc a usar um DBLookUpComboBox... :wink:
06/08/2004
Vinicius2k
:shock:
Sério? eu tbm achei estranho, pq o limite teórico seria 2147483647 mas...
Fiz um teste numa outra máquina aqui e o valor é diferente 32.767... realmente vai depender da máquina a capacidade de adicionar linhas...
T+
06/08/2004
Macario
Query1.close;
Query1.Open;
While not Query1.EOF do
begin
DBComboBox1.Items.Add(Query1.FieldByName(´NomeCliente´).asString);
Query1.Next;
end;
Segundo um colega meu, após inserir uma certa quantidade de linhas o programa dava um aviso de erros do tipo: NÃO POSSO MAIS INSERIR LINHAS, ou algo desse tipo.
Se alguém puder me responder fico agradecido ou se alguém tiver uma rotina melhor também aceito sugestões.
[/quote:c008e72412]
Olá programador, conforme a dica o colega [b:c008e72412]Lucas[/b:c008e72412], é possivel sim incluse fui alem inclui [b:c008e72412]500.000[/b:c008e72412] linhas(em 10 segundos).
Creio que o limite seja os recursos da maquina utilizada.
Quanto a voce incluir o nome do cliente em dbcombobox acho desnecessario, pois dependendo do tamanho da tabela e o tipo do banco
isso pode se tornar muito lento,
sendo qua há outras maneiras de se obter isso.
qualquer duvida estamos aqui.
06/08/2004
Deryck
Clique aqui para fazer login e interagir na Comunidade :)