Instruçao SQL

07/03/2003

0

Oi!

Eu tinha a seguinte instrucao SQL em paradox. Agora que mudei o sistema p/ Interbase, está dando erro e não sei como corrigir. Alguém pode me ajudar???? Os erros são nas linhas que têm ***


Grata,




sql.add(´Select h.cod_estab, ´+
´ h.pedido, ´+
´ h.situacao, ´+
´ h.fornecedor, ´+
´ h.comprador, ´+
´ r.material, ´+
´ h.valor_total, ´+
´ i.item, ´+
´ i.valor_unit, ´+
´ i.quantidade as qtde_ped, ´+
´ f.razao_social as desc_fornecedor, ´+
´ c.descricao as desc_comprador, ´+
*** ´ 0.00 as qtde_receb, ´+
*** ´ ´ ´ as desc_material ´+
´from cpcadped h, cpiteped i, ´+
´ cpcadreq r, cpcadfor f, ´+
´ cpcadcpr c ´+
´where h.cod_estab = i.cod_estab and ´+
´ h.pedido = i.pedido and ´+
´ i.requisicao = r.codigo and ´+
´ h.fornecedor = f.codigo and ´+
´ h.comprador = c.codigo and ´+
´ h.cod_estab = :cod_estab_par and ´+
´ h.data >= :data_ini_par and ´+
´ h.data <= :data_fim_par and ´);

...


Renata

Renata

Responder

Posts

07/03/2003

Anonymous

Até queria ajudar mas não estou entendo a SQL, o que significa *** na instrução, e mesmo se seguinificar eles estam fora das aspas ( ´ ).
Se quiser pode me enviar um e-mail ( nebrio@ig.com.br ), passando a instrução toda, daí eu vejo se posso te ajudar.


Nébrio


Responder

07/03/2003

Anonymous

Onde vc pôs 0.00 coloque apenas 0. De resto, acho que o único erro é o último ´and´ que não deveria existir.


Responder

07/03/2003

Anonymous

Desculpe, eu te perguntar o siginifica ***.... to meio lento hoje.

Perai que eu vou olhar dinovo, o tempo de um café e eu volto.


Responder

07/03/2003

Anonymous

*** ´ 0.00 as qtde_receb, ´+
*** ´ ´ ´ as desc_material ´+

na primeira linha você atribui o nome qtde_receb a 0.00 e não a um campo. Isso eu não entendi ?

a mesma coisa no segunda linha, você atribui o nome desc_material a um campo em branco.

Se puder me explicar é só mandar no e-mail ( nebrio@ig.com.br ), dando uma explicadinha que te respondo, não vou fazer nada de madrugada mesmo.

Tchau.

Nébrio


Responder

07/03/2003

Renata

MEU!!!

Os *** é só p/ marcar as linhas que está dando o erro!!!
Eu não tenho isso no meu fonte. Só coloquei no email p/ ficar fácil de vcs. localizarem as linhas!!! :oops:

E o último ´and´ está ali apenas pq. o sql não termina ai, ele continua depois, é que não era necessário eu colocar tudo já que sei onde estão os erros, só não sei quais os comandos que substituem isso em Interbase, pq. em paradox funciona perfeitamente.

Eu atribui 0.00 a um campo e aquele monte de espacos em branco a outro campo pq. mais a frente eu faco pesquisas e consistencias e altero estes valores (que eu selecionei em branco) p/ só depois mostrar na minha pesquisa.

Entenderam agora???


Grata,


Responder

07/03/2003

Renata

Ei Emerson!!!!

Eu troquei 0.00 por 0 como vc. disse. Só que ai ele trunca os valores float qdo eu atualizo eles depois. Por ex, como eu já tinha dito, depois deste select eu faco pesquisar e consistencias e coloco valores nos campos que estou trazendo em branco. Só que, se eu substituo o 0.00 por 0, qdo vou gravar um valor como 5,3 neste campo ele grava apenas 5 (por ex.)
E agora???


Responder

07/03/2003

Anonymous

Renata, tenho uma instrução SQL semelhante à sua e não obtive erro. Não sei o que pode ser...

Desculpe não poder ajudá-la.

Obs.: A instrução que eu fiz foi executada no Firebird.


Responder

07/03/2003

Renata

A minha esta em Interbase. Em paradox funciona!!!

Bem, obrigada de qq. forma...


Responder

07/03/2003

Anonymous

Renata, tente alterar a prop. DIALECT do IbDataBase para o mesmo utilizado no PIRAD,... quer dizer, PARADOX


Responder

07/03/2003

Anonymous

Coloque

´ CAST( 0 AS FLOAT ) as qtde_receb, ´+
´ CAST( null AS VARCHAR(60) ) as desc_material ´+

Onde 60 é o tamanho máximo, em bytes, que
desc_material pode assumir. Use um numero
menor que 64000.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar