我是Java Swing编程的新手,所以请耐心等待。
我使用JDBC ODBC驱动程序将JFrame
连接到MA Access数据库,这是错误的代码。
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
中,我也在做同样的事情。这个异常作为日志持续存在,因为我提到的是精确的列而不是星号(*)。
如果有任何解决方法或我可能使用的任何其他方法,请告知我们。
答案 0 :(得分:2)
如果有任何解决方法,请告知我们
问题是你的SQL语句。你某处有错误。
listItemStatus
如果您的SQL出现问题,请不要使用变量。首先通过硬编码列名来使SQL工作。类似的东西:
String q = "select "+Name+",Date/Subject from "+$Class;
然后,一旦你开始工作,你可以尝试使语句动态化,并使用变量来指定列名或表名。
如果您需要更多帮助,请查找SQL教程并查找正确的语法。这是一个让你入门的人:JDBC Database Access。
我们不知道您的表名或列名,因此我们无法为您编写代码。那是你的工作。