| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Ter Out 17, 2006 10:20 am Assunto: RecordCount dando erro. |
|
|
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 |
|
| Voltar ao Topo |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Ter Out 17, 2006 12:29 pm Assunto: RecordCount dando erro. |
|
|
| Sobe. |
|
| Voltar ao Topo |
|
 |
casetek Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004 Mensagens: 211 Localização: Londrina - PR
|
Enviada: Ter Out 17, 2006 12:41 pm Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
ricardolucianolopes Aprendiz


Registrado: Quarta-Feira, 11 de Outubro de 2006 Mensagens: 103 Localização: Joinville SC
|
Enviada: Ter Out 17, 2006 1:43 pm Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Ter Out 17, 2006 4:09 pm Assunto: RecordCount dando erro. |
|
|
Toda e qualquer operação no BD funciona normalmente, o problema somente ocorre quando chamo o RecordCount.... |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Ter Out 17, 2006 5:22 pm Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Qua Out 18, 2006 7:36 am Assunto: RecordCount dando erro. |
|
|
| Up |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Out 18, 2006 8:40 am Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Qua Out 18, 2006 8:50 am Assunto: RecordCount dando erro. |
|
|
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
:casstet: |
|
| Voltar ao Topo |
|
 |
casetek Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004 Mensagens: 211 Localização: Londrina - PR
|
Enviada: Qua Out 18, 2006 9:55 am Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
Sr_Smith Novato

Registrado: Sexta-Feira, 27 de Janeiro de 2006 Mensagens: 35 Localização: São Paulo
|
Enviada: Qua Out 18, 2006 1:40 pm Assunto: RecordCount dando erro. |
|
|
| Funcionou normalmente... |
|
| Voltar ao Topo |
|
 |
casetek Aprendiz


Registrado: Segunda-Feira, 13 de Setembro de 2004 Mensagens: 211 Localização: Londrina - PR
|
Enviada: Qua Out 18, 2006 2:23 pm Assunto: RecordCount dando erro. |
|
|
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 |
|
 |
|