ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

RecordCount dando erro.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Ter Out 17, 2006 10:20 am    Assunto: RecordCount dando erro. Responder com Citação

Bom dia pessoal,
estou querendo buscar a quantidade de registros que uma select me retornou, estou tentando usar o método \"RecordCount\", mas sempre estou obtendo a mensagem \"Table Unknown\", sendo que a tabela existe, e está tudo correto.
Alguém poderia me ajudar, abaixo está o trecho do fonte qual está dando problema:

//===Atualiza propriedades adiquiridas===
ConsultaBase(\'Select PRO_DssPropriedade From Propriedades Where PRO_CdiJogadorProprietario = \' + IntToStr(Jog) +
\'Order By PRO_CdiPropriedade;\',2);
if (not f_main.Query2.IsEmpty) and (f_main.ListaPropriedades.Items.Count <> f_main.Query2.RecordCount) then begin
f_main.Query2.FindFirst;
while (not f_main.Query2.Eof) do begin
f_main.ListaPropriedades.Items.Add(f_main.Query2.Fields[0].asString);
f_main.Query2.Next;
end;
end;
end;

Att.

Sr. Smith Cool
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Ter Out 17, 2006 12:29 pm    Assunto: RecordCount dando erro. Responder com Citação

Sobe.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
casetek
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004
Mensagens: 211
Localização: Londrina - PR

MensagemEnviada: Ter Out 17, 2006 12:41 pm    Assunto: RecordCount dando erro. Responder com Citação

Provavelmente tem um erro no sql. Faz um teste dessa forma:

f_main.Query2.close;
f_main.Query2.sql.clear;
f_main.Query2.sql.add(\'select...\');
SHOWMESSAGE(f_main.Query2.sql.text);// aqui vc dá uma olhada como a consulta vai pro bd
f_main.Query2.open;
SHOWMESSAGE(inttostr(f_main.Query2.RecordCount));

Observe se a Query2 está ligada à base de dados corretamente. Vc consegue fazer outras consultas com ela? As vezes a gente tem várias bases na mesma máquina(programador é tudo desorganizado) e ela está ligada a uma antiga que não tenha essa tabela
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ricardolucianolopes
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 11 de Outubro de 2006
Mensagens: 103
Localização: Joinville SC

MensagemEnviada: Ter Out 17, 2006 1:43 pm    Assunto: RecordCount dando erro. Responder com Citação

eu estava com um problema semelhante ontem q nao foi resolvido.
se vc conseguir aiw poste a solução

vlw

o/
_________________
<b>Ricardo Lopes</b>

<i>"Sim, o cara da foto sou eu mesmo.."</i>
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Ter Out 17, 2006 4:09 pm    Assunto: RecordCount dando erro. Responder com Citação

Toda e qualquer operação no BD funciona normalmente, o problema somente ocorre quando chamo o RecordCount.... Sad
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Out 17, 2006 4:46 pm    Assunto: RecordCount dando erro. Responder com Citação

Olah amigo, nao esta faltando vc dat um [b]OPEN[/b] na tabela? Verifique ai
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Ter Out 17, 2006 5:22 pm    Assunto: RecordCount dando erro. Responder com Citação

Não tá faltando não, a procedure usada no fonte do primeiro post está abaixo.

procedure ConsultaBase (Cmd: String;Q: Byte);
begin
case Q of
1: begin
f_main.Query1.Close;
f_main.Query1.SQL.Clear;
f_main.Query1.SQL.Add(Cmd);
f_main.Query1.Open;
end;
2: Begin
f_main.Query2.Close;
f_main.Query2.SQL.Clear;
f_main.Query2.SQL.Add(Cmd);
f_main.Query2.Open;
end;
end;

end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Qua Out 18, 2006 7:36 am    Assunto: RecordCount dando erro. Responder com Citação

Up
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Out 18, 2006 8:40 am    Assunto: RecordCount dando erro. Responder com Citação

Olah Sr_Smith estava me referindo o [b]OPEN[/b] neste script

[b]ConsultaBase(\'Select PRO_DssPropriedade From Propriedades Where PRO_CdiJogadorProprietario = \' + IntToStr(Jog) +
\'Order By PRO_CdiPropriedade;\',2);
if (not f_main.Query2.IsEmpty) and (f_main.ListaPropriedades.Items.Count <> f_main.Query2.RecordCount) then begin
f_main.Query2.FindFirst;
while (not f_main.Query2.Eof) do begin
f_main.ListaPropriedades.Items.Add(f_main.Query2.Fields[0].asString);
f_main.Query2.Next;
end;
end;
end;[/b]


Eu uso o recordcont aqui desta forma

[code]begin
tag:=1;
dm.qtbcontalan.Close;
dm.qtbcontalan.SQL.Clear;
dm.qtbcontalan.SQL.Add(\'select * from tbconta\');

if Edit4.Text<>\'\' then begin
jvDBGrid1.Columns[3].Font.Color:=clMaroon;
//DBGLista.Canvas.Font.Style := [fsbold];
jvDBGrid1.Columns[3].Font.Style := [fsbold];

dm.qtbcontalan.SQL.Add(\'where upper(nomeconta) like :pesquisa\');
dm.qtbcontalan.ParamByName(\'pesquisa\').asString:=ANSIUPPERCASE(Edit4.Text)+\'%\';
end;
[b]DM.qtbcontalan.Open;[/b]

[color=blue]showmessage(\'essa consulta tem: \' + inttostr(dm.qtbcontalan.recordcount) + \' registros\');[/color]

end;[code]

E nunca tive problemas desta forma
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Qua Out 18, 2006 8:50 am    Assunto: RecordCount dando erro. Responder com Citação

Eu estou fazendo igual a você, CLOSE, CLEAR, ADD, OPEN, só não tenho validações antes de dar o Open na Query, tanto que utilizo as query\'s em outros processos e elas funcionam normalmente, só da erro mesmo no RecordCount, não tem nenhum macete, parametrização específica do componente, as vezes posso estar esquecendo de algo.

Att.

Sr. smith Cool
:casstet:
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
casetek
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004
Mensagens: 211
Localização: Londrina - PR

MensagemEnviada: Qua Out 18, 2006 9:55 am    Assunto: RecordCount dando erro. Responder com Citação

Faz o seguinte:

Esquece o RecordCount por enquanto... Pois o problema não está com ele. Se tá dando
Table Unknown \"Tabela Desconhecida\", o problema tá na sql. Você não está conseguindo abrir a Query.

Coloca um DbGrid ligado a essa Query através de um DataSource e manda abrir pra ver se consegue.

Eu costumo colocar Showmessage(\'1\'); Showmessage(\'2\')... entre os comandos pra achar exatamente o ponto que tá dando o erro.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Sr_Smith
Novato
Novato


Registrado: Sexta-Feira, 27 de Janeiro de 2006
Mensagens: 35
Localização: São Paulo

MensagemEnviada: Qua Out 18, 2006 1:40 pm    Assunto: RecordCount dando erro. Responder com Citação

Funcionou normalmente...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
casetek
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004
Mensagens: 211
Localização: Londrina - PR

MensagemEnviada: Qua Out 18, 2006 2:23 pm    Assunto: RecordCount dando erro. Responder com Citação

Já pensou em se benzer? Vai na igreja, confessa, pede perdão pra sua mulher....

Depois volta e tenta mais um pouco:
Coloca mais um botão no formulário e coloca no onclick somente:
showmessage(inttostr(query2.recordcount));

Depois que vc tiver certeza de que a query está aberta ( estiver vendo os registros no dbGrid), clique nesse novo botão pra ver o que acontece...

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB