请教各位大神批量添加的问题

风雨之路 2013-01-09 02:41:37
现在是这样的!我有两张表!AB表!我点菜单栏查询A表的全部信息,点增加查询B表的全部信息,然后选中某一条添加到A表,然后批量选中添加到A表!


可是我现在保存一条数据时是先获得值!然后把值给一个变量,再把这个变量set给字段


请问各位大神!批量添加该如何实现啊!跪谢!
...全文
221 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
风雨之路 2013-01-14
  • 打赏
  • 举报
回复
忘记结贴!没有用楼上大神的方法,用的最简单的循环!还是谢谢大神们
BUG胡汉三 2013-01-09
  • 打赏
  • 举报
回复
引用 9 楼 pk877841241 的回复:
别这样啊!怎么都留下个半截就走了啊!小弟愚钝啊!求解决啊!
不是我不来、这个不是上班嘛! 刚刚有工单啊!
BUG胡汉三 2013-01-09
  • 打赏
  • 举报
回复
引用 10 楼 pk877841241 的回复:
大哥!你的那个方法是这样的不!?
你的语句有问题!!!
insert into wuliao select b.name,b.danwei,b.xiaghao,b.yanse from stock_sum b where 
b.stock_id in (3)
如果有多个就是 b.stock_id in (3,4,7) 不是你这样用的——b.stock_id in b.stock_id = 3! 这样是错的!
风雨之路 2013-01-09
  • 打赏
  • 举报
回复



大哥!你的那个方法是这样的不!?
风雨之路 2013-01-09
  • 打赏
  • 举报
回复
别这样啊!怎么都留下个半截就走了啊!小弟愚钝啊!求解决啊!
BUG胡汉三 2013-01-09
  • 打赏
  • 举报
回复
引用 7 楼 pk877841241 的回复:
关键是我页面传过来的ID不保存到A表中
你传过来的id是为了去查询的! 你把整个b表都查询出来了、想保存什么到a表就保存什么字段就行了!
风雨之路 2013-01-09
  • 打赏
  • 举报
回复
关键是我页面传过来的ID不保存到A表中
BUG胡汉三 2013-01-09
  • 打赏
  • 举报
回复
引用 4 楼 pk877841241 的回复:
上面的理解完全正确!我做的保存的单条非常的简陋!就是先获得ID然后找到这条信息!然后把这条信息里的值用多个变量接收(具体有几个变量就看这个表里有几个列)然后把这些变量又分别set到A表的列中
可以考虑这样做: 一、把b页面选中的值的唯一标识(如:主键)传到后台、多选的时候就用特殊符号隔开、如"1,2,3,5"这样! 二、后台解析前台传入的值、格式必须正确:1,2,3,5 这样能运行下面的sql。 三、
insert into A表 select b.要插入的字段...  from B表 b where b.id(主键) in(前台传入的id值);
用insert into select 语法、搞定! 但是记住、前台传入的、必须是能保证能select查询出的数据跟选择的数据一致! LZ可以这样试试!
风雨之路 2013-01-09
  • 打赏
  • 举报
回复
三楼!原谅小弟这个初学者!我是用的JSP+tomcat+S2SH+sqlservice2000! 我看不懂你的方法!是写在Action里吗?
风雨之路 2013-01-09
  • 打赏
  • 举报
回复
上面的理解完全正确!我做的保存的单条非常的简陋!就是先获得ID然后找到这条信息!然后把这条信息里的值用多个变量接收(具体有几个变量就看这个表里有几个列)然后把这些变量又分别set到A表的列中
coooliang 2013-01-09
  • 打赏
  • 举报
回复
你这意思是不是把B表的信息批量插入A表中? 你是用什么框架,JDBC,还是hibernate. JDBC void addBatch(String sql) throws SQLException将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。通过调用方法 executeBatch 可以批量执行此列表中的命令。 hibernate类似这样: beginTransaction(); getHibernateTemplate().execute(new HibernateCallback(poList) { public Object doInHibernate(Session session) throws HibernateException { Object[] es = this.val$poList.toArray(); for (int i = 0; i < es.length; ++i) { session.saveOrUpdate(es[i]); if (i % GenericDaoImpl.this.batchSize != 0) { continue; } session.flush(); session.clear(); } return null; } }); commitTransaction();
BUG胡汉三 2013-01-09
  • 打赏
  • 举报
回复
引用 楼主 pk877841241 的回复:
现在是这样的!我有两张表!AB表!我点菜单栏查询A表的全部信息,点增加查询B表的全部信息,然后选中某一条添加到A表,然后批量选中添加到A表! 可是我现在保存一条数据时是先获得值!然后把值给一个变量,再把这个变量set给字段 请问各位大神!批量添加该如何实现啊!跪谢! 批量添加 ……
我先试着理解一下你的需求、 是不是在a表的信息列表页面、点击添加 弹出b表的全部信息、“然后选中某一条添加到A表,然后批量选中添加到A表!” 是不是这样理解的、用户可以选择一条b表的信息、也可以选择多条b表的信息? 至于你说的: “可是我现在保存一条数据时是先获得值! 然后把值给一个变量, 再把这个变量set给字段” 是不是说、选择好了b表的数据、点击添加的时候要set一个值、比如时间或者操作人什么的?是否只是一个值、并且选择很多条的时候、这个值也不会变(时间值的话、不考虑这种情况) 先跟你了解一下需求、然后在给你解决问题!
风雨之路 2013-01-09
  • 打赏
  • 举报
回复
各位大神进来看看吧!急!!!!!

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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