BlueJ を使用して、Java でいくつかのタスクを実行しています。MS Access データベースからレコードを取得できない理由がわかりません。どんな助けでも大歓迎です
import java.sql.*;
public class Database
{
private Statement s;
/**
* Constructor for objects of class database
*/
public database()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException exp){
System.err.println(exp);
}
try{
Connection con = DriverManager.getConnection("jdbc:odbc:POS", "", "");
this.s = con.createStatement();
}catch(SQLException e){
e.printStackTrace();
}
}
public void test(){
try{
this.s.executeQuery("SELECT * FROM product");
ResultSet rset = s.getResultSet();
System.out.println(rset.getString("title"));
}catch(SQLException e){
e.printStackTrace();
}
}
}
test() 関数を実行したときに得られる出力は次のとおりです
java.sql.SQLException: [Microsoft][ODBC Driver Manager] invalid cursor state at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113) ) sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3906) で sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5697) で sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java: 353) で sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:410) で database.test(database.java:35) で _ SHELL9.run(_SHELL9.java:8) で sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で Java で.lang.reflect.Method.invoke(Method.java:601) at bluej.runtime.ExecServer$3.run(ExecServer.java:725)
ODBC ドライバーをセットアップしましたが、データベース名は正しいです。パスワードで保護されていません。
前もって感謝します