Bom dia a todos.
Gostaria que alguem me ajudasse a descobrir porque esta coisa não esta funcionando:
[code]public static void lcides() throws ClassNotFoundException, SQLException{
variaveis.con.close();
variaveis.con = funcoes.conectar();
//ResultSet rs1 = funcoes.rsf(“select distinct municipio from clis ORDER BY MUNICIPIO”);
ResultSet rs1 = funcoes.rsf(“select * from clis order by municipio”);
rs1.next();
while (rs1.next()){
cidades.addItem(rs1.getString("municipio"));
}
} [/code]
No codigo acima se mantenho a clausula distinct o raio do programa me da o seguinte erro :
Mar 14, 2013 10:24:39 AM nfeasy.pr jMenuItem5ActionPerformed
SEVERE: null
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inv?lido
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3906)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5697)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:353)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:410)
at nfeasy.parti.lcides(parti.java:540)
at nfeasy.parti.(parti.java:45)
at nfeasy.pr.jMenuItem5ActionPerformed(pr.java:491)
at nfeasy.pr.access$1300(pr.java:47)
at nfeasy.pr$13.actionPerformed(pr.java:300)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Só pra constar minha conexao esta assim :
public static Connection conectar(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename = "g:/BANCOS/nfeasy.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=false}"; // add on to the end
// now we can get the connection from the DriverManager
Connection con = DriverManager.getConnection( database ,"","");
return con;
}
catch (Exception e) {
System.out.println("Error: " + e);
return null;
}
}
E o gerador de resultset assim :
[code]public static ResultSet rsf(String seletor) throws ClassNotFoundException, SQLException {
java.sql.Connection con;
java.sql.Statement st;
java.sql.ResultSet result = null;
//f.m(variaveis.servidor + " " + Banco);
try {
//Class.forName(“org.gjt.mm.mysql.Driver”);
//con = java.sql.DriverManager.getConnection("jdbc:mysql://" + variaveis.servidor + Banco + "?useUnicode=true",variaveis.login,variaveis.senha);
//con = conectar();
st=variaveis.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
result= st.executeQuery(seletor);
return result;
} catch (Exception Ex){
//f.m(seletor);
f.m("Falha na execução de link com o servidor " + Ex);
return result;
}
}[/code]
Agradeceria se alguem pudesse me dar uma luz sobre o assunto. Anteriormente estava usando Mysql mas decidi utilizar access porque me oferece mais facilidade para migrar os dados de maquina para maquina.
Grato
Dario