java.sql.SQLException: Invalid column name p.id.
Com mySql funciona perfeitamente já com sqlserverexpress e jtds esta dando erro.
Alguma dica?
Tenho uma classe que faz a seguinte consulta:
private String consultaProduto = select p.*, f.* from produto as p join fornecedor as f on p.fornecedor_id = f.id;
con = acessoBD.conectar();
ps = con.prepareStatement(consultaProduto);
rs = ps.executeQuery();
while (rs.next()) {
produto = new Produto();
produto.setId(rs.getInt(p.id));
Ao tentar executar esta dando o erro:
run:
java.sql.SQLException: Invalid column name p.id.
at net.sourceforge.jtds.jdbc.JtdsResultSet.findColumn(JtdsResultSet.java:964)
at net.sourceforge.jtds.jdbc.JtdsResultSet.getInt(JtdsResultSet.java:968)
at com.t2tijavastarter.produto.ProdutoBD.consultaProduto(ProdutoBD.java:40)
at com.t2tijavastarter.produto.ProdutoFrame.atualizaTabela(ProdutoFrame.java:88)
at com.t2tijavastarter.produto.ProdutoFrame.btnFiltrarActionPerformed(ProdutoFrame.java:484)
at com.t2tijavastarter.produto.ProdutoFrame.access$200(ProdutoFrame.java:33)
at com.t2tijavastarter.produto.ProdutoFrame$3.actionPerformed(ProdutoFrame.java:378)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Alguma dica?
Tenho uma classe que faz a seguinte consulta:
private String consultaProduto = select p.*, f.* from produto as p join fornecedor as f on p.fornecedor_id = f.id;
con = acessoBD.conectar();
ps = con.prepareStatement(consultaProduto);
rs = ps.executeQuery();
while (rs.next()) {
produto = new Produto();
produto.setId(rs.getInt(p.id));
Ao tentar executar esta dando o erro:
run:
java.sql.SQLException: Invalid column name p.id.
at net.sourceforge.jtds.jdbc.JtdsResultSet.findColumn(JtdsResultSet.java:964)
at net.sourceforge.jtds.jdbc.JtdsResultSet.getInt(JtdsResultSet.java:968)
at com.t2tijavastarter.produto.ProdutoBD.consultaProduto(ProdutoBD.java:40)
at com.t2tijavastarter.produto.ProdutoFrame.atualizaTabela(ProdutoFrame.java:88)
at com.t2tijavastarter.produto.ProdutoFrame.btnFiltrarActionPerformed(ProdutoFrame.java:484)
at com.t2tijavastarter.produto.ProdutoFrame.access$200(ProdutoFrame.java:33)
at com.t2tijavastarter.produto.ProdutoFrame$3.actionPerformed(ProdutoFrame.java:378)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Frigorifico Sa
Curtidas 0
Respostas
Davi Costa
31/05/2012
Confere se no banco tem essa coluna:
java.sql.SQLException: Invalid column name p.id.
att Davi
java.sql.SQLException: Invalid column name p.id.
att Davi
GOSTEI 0
Frigorifico Sa
31/05/2012
executando a consulta acima Tem a coluna p.id e f.id.
só que aparece id. Deve ser uma limitação do jtds.
Conhece algum outro pacote para conexão com sql server e onde posso baixar?
Nao gostaria de ficar mudando para setint(0).
Att,
Ricardo
só que aparece id. Deve ser uma limitação do jtds.
Conhece algum outro pacote para conexão com sql server e onde posso baixar?
Nao gostaria de ficar mudando para setint(0).
Att,
Ricardo
GOSTEI 0
Davi Costa
31/05/2012
Pq vc não cria um alias para diferenciar as colunas:
select p.id as id_p, f.id as id_f.....
ai vc recupera conforme o alias que vc escolheu para cada um.
att Davi
select p.id as id_p, f.id as id_f.....
ai vc recupera conforme o alias que vc escolheu para cada um.
att Davi
GOSTEI 0
Frigorifico Sa
31/05/2012
Davi,
Vou fazer isto obrigado.
Att,
Ricardo
Vou fazer isto obrigado.
Att,
Ricardo
GOSTEI 0