私はJava Swingプログラミングの初心者です。 JDBC ODBCドライバを使用して私のJFrame
をMA Accessデータベースに接続しました。ここには誤ったコードがあります。できませんStatement.executeQuery()から選択した列を取得するには
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:MS Access Database");
st = con.createStatement();
String q = "select "+Name+",Date/Subject from "+$Class;
R = st.executeQuery(q);
int row=0;
while(R.next())
{
Table.setValueAt(R.getString("Date/Sujbect"),row,0);
Table.setValueAt(R.getString(Name),row,1);
row++;
}
st.executeQuery(q)
に達すると、例外をスローします。私は理解していない何
"Too few Parameters. Expected 2".
はこれです:クエリは
"select * from "+ $Class;
のように書かれているとき、それは完全に正常に動作します。他のいくつかのJFrame
でも、私は同じことをやっています。この例外は、私が星の代わりに正確な列(*)を言及する限り、ログとして保持されます。
この問題を回避する方法があるかどうか、または私が使用する可能性がある他の方法も教えてください。
テーブル構造を共有できますか? – Pirate
テーブルに「日付/件名」という列がありますか? 'Date/Subject ''で区切られた 'Date'カラム(または関数)*として' Date/Subject'を解釈します。 'Date/Subject''は大括弧で囲む必要があります。カラム。これらの列が存在しない場合、Accessデータベースエンジンはそれらをパラメータプレースホルダとして解釈します。したがって、「パラメータが必要です」というエラーが発生します。 –