java sql SQLException:参数索引超出范围(1>参数数量,为0)
问题描述:
尝试连接到数据库时,我不断收到此错误。java sql SQLException:参数索引超出范围(1>参数数量,为0)
这是我事先准备好的声明
String SQL = "SELECT * FROM `?` WHERE `HomeTeam` = '?'";
PreparedStatement prepst;
prepst = con.prepareStatement(SQL);
prepst.setString(1,box1.getSelectedItem().toString());
prepst.setString(2,box1.getSelectedItem().toString());
rs = prepst.executeQuery();
谁知道为什么我得到这个错误?
答
我认为你的问题是在'
和```符号。你应该可以解决SQL作为follwing:
String SQL = "SELECT * FROM ? WHERE HomeTeam = ?";
但是我不知道该参数占位符?
是from
后支持。所以,想必你将不得不自己所说的那样,如:
String table = box1.getSelectedItem().toString();
String SQL = "SELECT * FROM " + table + " WHERE HomeTeam = ?";
答
使用
String SQL = "SELECT * FROM ? WHERE HomeTeam = ?";
不要使用`窝参数,使用'窝重视你对,如果你硬编码比较它们。
你不能使用?指定一个表名。
好吧,我已经试过了,现在我得到一个MySQL的语法错误,尽管SQL语句的作品时,我手动试了一下数据库 – user3139748
你可以在没用?指定一个表名 – david99world