java - 我的Java代码生成一个查询-->从 'emp'删除,但我需要它-->从emp删除。请帮我

标签 java jdbc

我的Java代码生成一个查询-->从'emp'删除,但我需要它-->从emp删除。请帮助我

void deleteData(Map records) throws SQLException { 
   String delQuery = "delete from ? where empid = ?" 
   String tbname = String records.get(tabName); 
   String empid = String records.get(empid); 
   PreparedStatement data = getPreparedStatement(DelQuery); 
   data.setString(1,tbname); 
   data.setString(2,empid); 
   System.out.println("Query is ---->"+data.toString()); 
   ResultSet rst = data.executeQuery();
 }

当我看到控制台有错误时,它显示:

Query is ----> DELETE FROM 'emp' WHERE empid = '21'

Could not execute sql command - Original message: null

最佳答案

遗憾的是,您无法将表名称设置为参数。您必须将其编码为 SQL 的一部分。

delQuery = "DELETE FROM " + tbname + " WHERE empid = ?"

显然,有关确保表名称字段已清理的常见警告适用。

关于java - 我的Java代码生成一个查询-->从 'emp'删除,但我需要它-->从emp删除。请帮我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728009/

相关文章:

java - Swing 动画运行速度极慢

Java API 返回格式正确的 JSON 来表示成功和失败,包括身份验证错误

jakarta-ee - 嵌入JUnit的Glassfish用于EJB测试

java - Java 中 DirectByteBuffer 的堆内存占用是多少?

java - struts 中的 ActionForm 类

java - 如何从底部始终保持 30dpi 的 toast ?

java - JdbcRowSet 无法识别 MariaDB 驱动程序

java - 为什么我收到 : [Oracle][ODBC][Ora]ORA-00904: invalid identifier

java - 带有 Sqlite 数据库的 JcomboBox

java - 通过 Java 将超大数据集加载到关系数据库的最佳实践