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

(Resolvido) AdoQuery - Consulta parameterizada


mariolopes

Pergunta

Viva

Liguei com o meu sistema Delphi 2010 uma base de dados Mysql. Necessito de fazer várias consultas e para isso uso o componente Adoquery. Não estou a conseguir. Por favor olhem o meu código:

begin
ADOQuery1.SQL.Add( 'select * from perfumes where id = :meuParam' );
ADOQuery1.Prepared := True;
ADOQuery1.Parameters[0].DataType := ftInteger;
ADOQuery1.Close;
ADOQuery1.Parameters[0].Value := 24;
ADOQuery1.Open;
end;

Obtenho erro Argments of wrong type, are out of acceptable range or are in conflit with one another.

Alguém sabe porquê? Claro que o campo id é inteiro.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Caro Jhonas

Pelo que me parece este componente (Adoquery) é um pouco louco. O erro ocorre logo na primeira linha no Add. Se eu retirar Paramcheck no componente (design) não acusa erro mas continua louco. Repare no código seguinte:

ADOQuery1.SQL.Add( 'select * from perfumes where id= :a ' );
ADOQuery1.Prepared := True;
ADOQuery1.Close;
ADOQuery1.Parameters.ParamByName('a').Value := strtoint(edit1.Text);
ADOQuery1.Open;

Obtenho  erro que o parâmetro a não existe. Vou mudar a abordagem, julgo que seguir por aqui é perda de tempo. Tenho uma tabela mysql que posso exportar como XML e ler o XML a partir do Delphi.  O meu XML é algo como:

 <table name="perfumes">
            <column name="id">759</column>
            <column name="sku">1679</column>
            <column name="descricao">FLOWER BY KENZO EDP 50 ML </column>
            <column name="imagem">imagens\1679.jpg</column>
            <column name="texto">Perfume criado por Alberto Morillas. </column>
            <column name="pvp">66.00</column>
            <column name="preco">36.99</column>
            <column name="fornecedor"></column>
            <column name="firstpage">1</column>
            <column name="marca">Kenzo</column>
            <column name="genero">Feminino</column>
            <column name="stock">1</column>
            <column name="percent_desconto">0</column>
            <column name="ano_lancamento">0</column>
            <column name="criadores"></column>
            <column name="sku1"></column>
            <column name="preco1">0.00</column>
            <column name="link1"></column>
            <column name="descricao1">0</column>
            <column name="link"></column>
        </table>

Na sua opinião devo usar algum componente específico para esta abordagem? Que me aconselha?

Link para o comentário
Compartilhar em outros sites

  • 0

para acesso ao MYSQL use o componente ZConnection1 do pacote ZeosLib

para as tabelas use os componentes:  ZQuery, DataSetProvider, ClientDataSet e DataSource  ( os 3 ultimos da paleta  Data Access )

download do pacote de componentes ( essa versão serve para o delphi 2010 ))

http://sourceforge.net/projects/zeoslib/files/latest/download

como instalar os componentes

https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjzpKyStd_KAhWJH5AKHezZBuAQtwIIIjAB&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKkvi9-VbdTI&usg=AFQjCNEFOEFC5C9XYjqIDNftXfib235Pcg&bvm=bv.113370389,d.Y2I

abraço

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...