Fórum Alguém conhece SQL? #217573
01/03/2004
0
update vennota set equipamento= :pequi
where nota= :Pnota and emissao between :data1 and :data2 and estabe = :Pestab
Galera, coloquei este comando numa query, aí quando vou ativá-la me da esta mensagem: ´Type mismatch in expression´.
E aí, será que alguém pode me ajudar?
where nota= :Pnota and emissao between :data1 and :data2 and estabe = :Pestab
Galera, coloquei este comando numa query, aí quando vou ativá-la me da esta mensagem: ´Type mismatch in expression´.
E aí, será que alguém pode me ajudar?
Vagner Monteiro
Curtir tópico
+ 0
Responder
Posts
01/03/2004
Cdaraujo
Caro amigo,
O Seu problema é bem simples de ser resolvido. Basta vc prestar atenção nos parâmetros que vc está passando.
É importante que vc saiba o tipo de cada campo. Alguns bancos de dados possuem conversão implícita, mas outros não, então nesse caso é melhor vc garantir o tipo correto de dado, exemplo:
- Se vc tem um campo inteiro, caso vc passe uma string, por mais que seja um número tipo ´1´, poderá apresentar esse tipo de erro. A forma correta para um campo inteiro seria :
Campo do tipo INTEGER
UPDATE TABLE
SET FIELD =:FIELD
ParambyName(´FIELD´).AsInteger := 1;
Campo do tipo VARCHAR
UPDATE TABLE
SET FIELD =:FIELD
ParambyName(´FIELD´).AsString := ´1´;
Isso seria uma forma correta de se passar um parâmetro para o TQuery.
Espero ter ajudado na solução do seu problema!
Daniel Araújo
[quote:3ff0dca573=´Vagner Gulart Monteiro´]update vennota set equipamento= :pequi
where nota= :Pnota and emissao between :data1 and :data2 and estabe = :Pestab
Galera, coloquei este comando numa query, aí quando vou ativá-la me da esta mensagem: ´Type mismatch in expression´.
E aí, será que alguém pode me ajudar?[/quote:3ff0dca573]
O Seu problema é bem simples de ser resolvido. Basta vc prestar atenção nos parâmetros que vc está passando.
É importante que vc saiba o tipo de cada campo. Alguns bancos de dados possuem conversão implícita, mas outros não, então nesse caso é melhor vc garantir o tipo correto de dado, exemplo:
- Se vc tem um campo inteiro, caso vc passe uma string, por mais que seja um número tipo ´1´, poderá apresentar esse tipo de erro. A forma correta para um campo inteiro seria :
Campo do tipo INTEGER
UPDATE TABLE
SET FIELD =:FIELD
ParambyName(´FIELD´).AsInteger := 1;
Campo do tipo VARCHAR
UPDATE TABLE
SET FIELD =:FIELD
ParambyName(´FIELD´).AsString := ´1´;
Isso seria uma forma correta de se passar um parâmetro para o TQuery.
Espero ter ajudado na solução do seu problema!
Daniel Araújo
[quote:3ff0dca573=´Vagner Gulart Monteiro´]update vennota set equipamento= :pequi
where nota= :Pnota and emissao between :data1 and :data2 and estabe = :Pestab
Galera, coloquei este comando numa query, aí quando vou ativá-la me da esta mensagem: ´Type mismatch in expression´.
E aí, será que alguém pode me ajudar?[/quote:3ff0dca573]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)