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/Subject'를'Date' 칼럼 (또는 함수) *으로'Subject'로 나눈 것으로 해석 할 것입니다. 기둥. 이러한 열이 존재하지 않으면 Access 데이터베이스 엔진에서 매개 변수 자리 표시 자로 해석하므로 "예상되는 매개 변수"오류가 발생합니다. –