我有兩個具有相同屬性的數據庫表。我想使用從表n第二個更新表中讀取的兩個sql語句。在SQL中使用變量而不是TableName
String tableName = "";
String value = request.getParameter("PageId");
if(value=="Alflah"){
tableName = "PARKTABLEONE";
}
if(value=="ParkN"){
tableName = "PARKTABLE";
}
一個Statment:
ResultSet rs= st.executeQuery("Select * From " +tableName+ " WHERE ID = \'"+ login + "\' ");
第二屆聲明:
String query = "update " + tableName + " set Place1 = ?, Place2 = ? WHERE ID = \'"+ login + "\'";
所以,我想在這裏使用的表名變量。 例如,如果表名是Alflah,它應該從alflah讀取 它可能與否?請糾正我的錯誤在哪裏?
那麼,有什麼問題呢?當你嘗試時會發生什麼? –
除了別的,你不應該比較這樣的字符串 - 請參閱http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java –
備註:與'tableName無關',你的代碼可以廣泛應用於[SQL注入攻擊](http://bobby-tables.com)和無害的非攻擊值。使用參數化查詢。 –