Access

Olá,

Estou com o seguinte problema: criei um banco e uma tabela, no programa em java efetuo a conexão, até ai tudo ok… o problema é que se executo uma query simples tipo “SELECT * FROM users” funciona tudo ok ele retorna a tabela e imprime na tela, mas quando executo uma query do tipo “SELECT userid FROM users” ele dá o seguinte erro:

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Seqüência de agrupamento selecionada não suportada pelo sistema operacional. 
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6026) 
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6183) 
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:2489) 
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:329) 
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:244) 
at secserv.testesql.SEx3 
elect(testesql.java:56) 
at secserv.testesql.main(testesql.java:85) 

A tabela é simples, tem quatro colunas e uma linha só: userid, matricula, nome e senha. Se alguém puder me ajudar… Obrigado.
Segue o código da aplicação:

import java.sql.*; 
import java.util.*; 

public class testesql 
{ 
private static Statement statement = null; 
private static Connection conexao = null; 
private String URL = "jdbc:odbc:Tarefas"; 

public testesql() 
{ 
super(); 
try 
{ 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
conexao = DriverManager.getConnection(URL, "", ""); 
} 
catch (SQLException sql1) 
{ 
sql1.printStackTrace(); 
conexao = null; 
} 
catch (ClassNotFoundException clas) 
{ 
System.out.println("Ex2"); 
clas.printStackTrace(); 
conexao = null; 
} 
} 

public String Select(String QueryLine) 
{ 

String Output = ""; 
int columns; 
int pos; 
try 
{ 

Statement stmt = conexao.createStatement(); 

System.out.println(QueryLine); 
ResultSet rs = stmt.executeQuery(QueryLine); 

columns = (rs.getMetaData()).getColumnCount(); 
while (rs.next()) 
{ 
for (pos = 1; pos <= columns; pos++) 
{ 
Output += rs.getObject(pos) + " "; 
} 
Output += "n"; 
} 

stmt.close(); 
} 
catch (SQLException e) 
{ 
e.printStackTrace(); 
Output = e.getMessage(); 
} 
return Output; 
} 

public static void main(String[] args) 
{ 
testesql teste = new testesql(); 

String query = "SELECT iduser FROM users"; 
System.out.println(teste.Select(query)); 
} 
}

tenta executar a mesma query directo do access

tem algo MUITO estranho ai

Já fiz isso… Direto no access funciona…

Tenta trocar isso daki…

public static void main(String[] args) 
{ 
testesql teste = new testesql(); 

String query = "SELECT iduser FROM users"; 
System.out.println(teste.Select(query)); 
} 
} 

ao inves de iduser… coloca o nome certo userid… foi a unica coisa q eu vi de errado…

Galera valeu, mas acabei formatando a máquina e resolveu, acho que era algum problema no ODBC do windows… Não sei explicar mas depois de formatada a máquina, o mesmo código que postei funcionou…

Obrigado.