Jump to content
Fórum Script Brasil
  • 0

(Resolvido) AdoQuery - Consulta parameterizada


mariolopes
 Share

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...