2014-02-18 42 views
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(); 

誰知道爲什麼我得到這個錯誤?

回答

1

我認爲你的問題是在'和```符號。你應該可以解決SQL作爲follwing:

String SQL = "SELECT * FROM ? WHERE HomeTeam = ?";

但是我不知道該參數佔位符?from後支持。所以,想必你將不得不自己所說的那樣,如:

String table = box1.getSelectedItem().toString(); 
String SQL = "SELECT * FROM " + table + " WHERE HomeTeam = ?"; 
0

使用

String SQL = "SELECT * FROM ? WHERE HomeTeam = ?"; 

不要使用`窩參數,使用'窩重視你對,如果你硬編碼比較它們。

你不能使用?指定一個表名。

+0

好吧,我已經試過了,現在我得到一個MySQL的語法錯誤,儘管SQL語句的作品時,我手動試了一下數據庫 – user3139748

+0

你可以在沒用?指定一個表名 – david99world

相關問題