• 0
Sign in to follow this  
Kindelis

Problema Na Sql

Question

é o seguinte eu tenho esta sql

select Cod.Material, M.Descricao, T.Descricao, Quantidade

from 'c:\Engevale\material.db' as M, 'c:\Engevale\tipo.db' as T

where M.Cod_Tipo=T.Cod_Tipo

só que quando eu mando executa ele não entende o campo "Cod.Material", o delphi "pensa" que eu estou tentando fazer um relacionamento e tentando simplesmente pegar algum campo "Material" de alguma outra tabela .... tem como eu fazer esta sql funcionar sem ter que alterar o banco de dados?

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0
esse que é o meu problema, o nome completo do campo é "Cod.Material"

Nunca fiz isso, de colocar "." em um nome de campo (acho que isso nem deveria ser permitido, uma vez que o "." tem um significado especial na SQL). De qualquer forma, já experimentou colocar o nome entre aspas (dentro da SQL)?

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0

então eu já tentei com aspas, aspas duplas de todo jeito mais não funciona mesmo, acontece que este ponto esta la não sei por que visto que eu peguei uma versão antiga de um programa e estou adcionando algumas coisas para um cliente meu e me dou de cara com este problema pois como´já é uma versão utilizada pelo cliente eu não queria substituir o banco de dados para não haver a necessidade de o cliente refazer os cadastros

você não sabe outra solução??

Share this post


Link to post
Share on other sites
  • 0

Alo Kindellis

na linha

from 'c:\Engevale\material.db' as M, 'c:\Engevale\tipo.db' as T

eu faria

from "c:\Engevale\material.db" as M, "c:\Engevale\tipo.db" as T

pode ser este pequeno detalhe de aspas.

Já aconteceu comigo.

wink.gif Luiz

Share this post


Link to post
Share on other sites
  • 0

A tabela é paradox?

Tentei criar uma tabela com o "." em um dos campos e deu erro... isso:

create table teste

(

cod.material char(13),

descricao char(40)

unidade char(3)

)

já ...

create table teste

(

cod_material char(40),

unidade char(3)

)

funcionou...

Tente usar isso...

select cast(cod.material as char(40)) codigo, unidade

from ...

Share this post


Link to post
Share on other sites
  • 0

Olá,

É o que o Graymalkin falou,

use aspas simples ou duplas (tanto faz)

Assim:

select 'cod.material', M.descricao, T.Cod_Tipo

from 'c:\Engevale\material.db' as M, 'c:\Engevale\tipo.db' as T

where M.Cod_Tipo=T.Cod_Tipo

Abs Progr'amador. wink.gif

Share this post


Link to post
Share on other sites
  • 0

meu sincero obrigado a todo mundo que tentou me ajudar a solução encontrada para essa sql foi uma coisa aparentemente boba mais que funcionou:

select distinct "C:\Engevale\material.db"."Cod.Material" .....

from ..........

aparentemente é uma solução óbvia mais de certa forma esta linha do select enganou o query do delphi e forçou ele a reconhecer o campo "Cod.Material".

espero que esta solução possa ajudar mais alguma pessoa pois a min mesmo ela ajudou, obrigado a todos

Share this post


Link to post
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.

Sign in to follow this