Comando SQL

14 respostas
Veneno

Não sei se eh assim que faz …
estou tentando dessa forma mas nao da certo …
no Access da certo…

ps = connection.prepareStatement(“SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = ? order by p.codigo;”);

vlw galera … :thumbup:

14 Respostas

matheuscechito

já tentou tirar o “;” (ponto e virgula) do fim da consulta?

ps = connection.prepareStatement("SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = ? order by p.codigo");

o resto, acho q ta certo sim…

Veneno

tentei agora …
ta dando um erro assim:

[Microsoft][Driver ODBC para Microsoft Access]Campo COUNT incorreto

será que eh na consulta??

matheuscechito

putz, não sei…pq nem tem COUNT na sua consulta…

como vc esta substituindo o parametro “?” ?..ele deve ser String…

e tente dar uma olhada na configuração do seu driver ODBC…

J

Mas onde você está tentando usar essa consulta? No access ou no java?

Putz, não tinha reparado que tinha prepareStatement.
:oops:

Veneno

Assim oh …

ps = connection.prepareStatement(“SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = ? order by p.codigo”);
rs = ps.executeQuery();

while(rs.next()){
                codigo = rs.getString("codigo");
                nome = rs.getString("nome");
                String grupo = rs.getString("grupo");
                qtdmin = rs.getString("qtdmin");
                qtdatual = rs.getString("qtdAtual");
                String fornecedor = rs.getString("Nome");
Veneno

eh verdadii eu to esquecendo de substituir

assim neh???

ps = connection.prepareStatement(“SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = ? order by p.codigo”);
ps.setString(alguma coisa aqui);

rs = ps.executeQuery();
//soh que eu queria q ele pegasse direto o f.nome de acordo com o codigo do produto …
tem como ???

vlw

J

Não esqueça o ps.setString(1,""); do parâmetro “?”…

J

Dê um alias pra cada uma das colunas

Ex.:

Select p.nome as NomeProduto, f.nome as NomeFornecedor ...bla bla

Ou então faça:

rs.getString(1);
rs.getString(2);

Usando o índice, mas daí cuidado ao alterar a ordem das colunas.

matheuscechito

se vc quer o nome do produto de acordo com o codigo, vc não precisa da clausula AND com o nome…

SELECT p.codigo, p.nome "NomeProduto", p.grupo, p.qtdmin, p.qtdatual, f.nome "NomeFornecedor"
FROM Produtos p, Fornecedor f 
WHERE p.CodigoFornecedor = f.codigo
ORDER BY p.codigo

assim, o campo NomeProduto virá o nome de acordo com o código dele
a clausula

AND f.nome = ?

seria pra vc pegar um produto específico

veja isso direito

Veneno

puts cara eu tentei assim :

ps = connection.prepareStatement(SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = ? order by p.codigo);

ps.setString(1,p.codigo);

rs = ps.executeQuery();

mas nao ta carregando …
oq que euquero eh o seguinte …
que carregue os campos de produtos acima … com o nome do fornecedor da tabela Fornecedor… mas a partir do código do produto…
sem eu digitar nada … mas nao sei se tem como …
agora que percebi …rs

vlw em …
:slight_smile:

matheuscechito

com este comando ae, vc esta dizendo que o parametro “?” é p.codigo

ou seja, a mesma coisa q fazer isso:

SELECT p.codigo,p.nome, p.grupo, p.qtdmin,p.qtdatual, f.nome from Produtos p, Fornecedor f where p.CodigoFornecedor = f.codigo and f.nome = p.codigo order by p.codigo

tente tirar o parametro da consulta, igual eu postei anteriormente

Veneno

ah sim …rs

eu nao tinha visto que vc tinha postadoo rssr… mal…
mas eu queri o Nome do Fornecedor de acordo com o codigo do produto…
mas eu queria que carregasse tudo sem eu precisar digitar o codigo …

vlw MAtheus…

Veneno

tem como ???

matheuscechito

se vc fizer isso:

SELECT Fornecedor.Nome
 FROM Produtos, Fornecedor
 WHERE Produtos.CodigoFornecedor = Fornecedor.codigo
 ORDER BY Fornecedor.codigo

vc terá todos os produtos q tem um fornecedor

para vc ter o q quer, ou seja, o nome do fornecedor de um produto tem q fazer assim:

SELECT Fornecedor.Nome
 FROM Produtos, Fornecedor
 WHERE Produtos.CodigoFornecedor = Fornecedor.codigo
    AND Produtos.codigo = 1000
 ORDER BY Fornecedor.codigo

aí ele traz o fornecedor do produto 1000

Criado 24 de novembro de 2006
Ultima resposta 24 de nov. de 2006
Respostas 14
Participantes 3