这是只是做一个记录,也可以给有疑惑的同学参考一下。
先说遇到的问题:
prep = conn.prepareStatement("select * from "+ tableName);
// prep.setString(1, tableName);//使用占位符报错,解决:占位符,只是用来表示值,不能用来替代表明
ResultSet result = prep.executeQuery();
用字符串拼接 SQL语句,没有问题,在使用占位符的时候出错了。
经测试一番。得出结论:占位符,只是用来 替代 值,不能用来替代表名。
实际上
setString (1,tableName) 等价于 " ' " + tableName + " ' "
这是为什么,我说 占位符只能用来替代值,不能用来替代表名的原因。