高分求教!!关于 PreparedStatement,想将表名也作为变量输入

unat 2005-11-03 11:17:47
PreparedStatement pstmt = CONN.getConn().prepareStatement("INSERT INTO ? (c1,c2) values
(?,?)")
pstmt.setString(1,"table1");
pstmt.setString(2,"abc");
pstmt.setString(3,"def");
pstmt.addBatch();



可是执行 executeBatch() 的时候,提示没有声明变量@p1
请问这种情况能实现么?
表名不一样的情况,但表结构一样的
...全文
721 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-11-10
  • 打赏
  • 举报
回复
不可以实现的

如果表名也要动态的就只能拼接字符串了。
eureka0891 2005-11-10
  • 打赏
  • 举报
回复
批处理----在java程序里转表名不一样是批处理?


用的是啥数据库?用的是有procedure的数据库就把这写成存储过程调用
Yanbin_Q 2005-11-10
  • 打赏
  • 举报
回复
表名可不能作为参数的
dechon 2005-11-10
  • 打赏
  • 举报
回复
prepareStatement肯定不行的,可以试一下CreateStatement,这个只能完全拼SQL,不能再绑定参数了.
unat 2005-11-09
  • 打赏
  • 举报
回复
如果在程序里面传参数,就不能用批处理了
我现在想利用 sql server 的参数功能,这样才能达到需要的效率
sunrain_gao 2005-11-04
  • 打赏
  • 举报
回复
pstmt.setString(1,"table1");

写法肯定不对!

这个将对参数加入单引号,也就是类型转换



values('a', 'bb');

所以

insert into 'table1'

肯定是不对的


还是如楼上说的,用参数,在程序里拼sql吧

另外!你的这个表结构是否合理呢?

bitou 2005-11-03
  • 打赏
  • 举报
回复
作参数传进来啊

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧