Pergunta

Eu tenho uma tabela de paradoxo de um sistema herdado que preciso executar uma única consulta. Os nomes de campo têm espaços neles - ou seja, "Street 1". Quando tento formular uma consulta em Delphi apenas para o campo "Street 1", recebo um erro - uso inválido da palavra -chave. Token: 1, número da linha: 1

Delphi V7 - Objeto Pascal, Nome do objeto padrão de talhery Query1.

Foi útil?

Solução

Você precisa prefixar a string com o nome da tabela na consulta.

Por exemplo: o nome do campo é 'Street 1', a tabela é chamada de clientes. A seleção é:

SELECT customers."Street 1" FROM customers WHERE ...

Outras dicas

Você normalmente precisa citar o nome do campo neste caso. Por exemplo:

selecione * de T1 onde "rua 1" = 'teste';

Eu tentei isso em uma mesa paradox 7 e funcionou. Se isso não ajudar, você pode postar a consulta que está tentando usar? Seria mais fácil ajudar com essa informação.

Eu só preciso das informações da rua dos detalhes do endereço mantidos na tabela do cliente. Eu posso fazê -lo funcionar bem se fizer uma seleção * dos clientes, no entanto, esta é uma tabela muito grande e retornará vários resultados. Se eu selecionar "Street 1" dos clientes, a saída será "Street 1" em todos os registros retornados - ou seja, ele não retorna os dados reais. Deve ter algo a ver com o uso de "

Obrigado pela ajuda

Joe

Eu acho que você deve usar [e] em vez de ":

SELECT customers.[Street 1] FROM customers WHERE ...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top