Campos númerico em SQL não utilizam nem aspas nem apóstrofo.

Tire as aspas no seu WHERE Categorias.ID.....

Boa sorte!

--
Fabio Terracini

Airton Toyansk wrote:

Leonardo,

Primeiro, vc presumiu certo.
Segundo, nenhuma das duas maneiras funcionou (na primeira maneira, deu erro, e na segunda, simplesmente não retorna nem a tabela!?)
Valeu pelas dicas.
O erro:


Error Occurred While Processing Request
Error Executing Database Query.
[MERANT][SequeLink JDBC Driver][ODBC Socket][Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.


The Error Occurred in C:\CFusionMX\wwwroot\gutomaq\Produtos.cfm: line 14

12 : </head>
13 :
14 : <body>
15 : <cfoutput query="prod">
16 : <table width="350" border="0" align="center" cellpadding="2" cellspacing="2">




--------------------------------------------------------------------------------


SQL SELECT * FROM Produtos , Categorias WHERE Categorias.Id_Categoria = "2" AND Produtos.Cat = Categorias.Id_Categoria
DATASOURCE gutomaq
VENDORERRORCODE -3010
SQLSTATE 07002


Se vc puder continuar me ajudando, serei grato.

Airton Toyansk.


From: Leonardo Carneiro <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Re: [cf-brasil] Categorias
Date: Fri, 4 Jun 2004 17:08:51 -0300

Airton.

Estou presumindo que o campo PRODUTOS.CAT é o codigo da categoria CATEGORIAS.ID_CATEGORIA
Então, Acho que a logica seria:


SELECT *
FROM Produtos P, Categorias C
WHERE C.Id_Categoria = "#URL.Id_Categoria#"
AND P.Cat = C.Id_Categoria

ou então assim ficaria mais bacana ...
SELECT *
FROM Produtos P
INNER JOIN Categorias C ON P.Cat = C.Id_Categoria AND C.Id_Categoria = "#URL.Id_Categoria#"


Algumas dicas:
1º -> Sempre que for trabalhar com chaves estrangeiras recomendo sempre colocar nomes identicos.
No seu caso, a chave estrangeira é a chave CAT da tabela PRODUTOS. O campo deveria ter o mesmo nome da tabela CATEGORIAS. Isso
facilita a visualização na hora da manutenção e desenvolvimento.
2º -> Os Campos ID_CATEGORIA e CAT não são númericos ??? se sim, não use aspas. Pois isso faz com que a query trate o numero como
String, que causa perda na performance.
3º -> faça o tratamento do campo URL.ID_CATEGORIA para não ser jogado diretamente na query. Use o eficiente CFQUERYPARAM. Isso
evitará problemas futuros de "SQL Injection". De uma lida no histórico da lista para maiores informações.
O Alex tem um post excelente sobre o assunto no site dele. é uma pena q eu não tenha o link aqui. Se alguem tiver por favor envie
para a lista novamente


Abraço
LCarneiro

Leonardo Carneiro







_________________________________________________________________
MSN Messenger: instale grátis e converse com seus amigos. http://messenger.msn.com.br






--^---------------------------------------------------------------- This email was sent to: [EMAIL PROTECTED]

EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2
Or send an email to: [EMAIL PROTECTED]

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------



Responder a