关于JAVA插入,修改多条信息如何处理,谢谢!

问题描述

刚发的帖子找不到了...第一次发帖见谅;内容如下 目前遇到一个问题,关于多条修改的问题; 如果一次要修改多条数据并存储的话该如何操作; 单条我是这么做的; String[] t=request.getParameterValues("t");然后插入LIST循环 PreparedStatement pst = (PreparedStatement) conn.prepareStatement ("INSERT INTO ……¥%& (*&……%#!!) VALUES ( ?, ?, ?,?)"); for (int i = 0; i < list.size(); i++) 如果多条怎么处理,假设一行有3个字段分别是 ID,NAME,DATE的话 同时接收3个字段如何做个循环...如果是要用bo set,get封装的话如何处理? 我该如何取值如何循环?谢谢指点!新手没有头绪; 请告诉个思路最好能有代码更直观一点; 5分钟刷新一次页面谢谢各位! 问题补充:anyasir 写道

解决方案

不知道你额界面是什么样的你可以在界面用js构造好参数。。然后传递到后台来解析比如:name age numb<for> //循环<tr><td><intupe type=checkbox name="id" value=""></td><td><input type = text name="name" value=""></td><td><input type = text name="age" value=""></td><td><input type = text name="numb" value=""></td></tr></for>那么后台可以获取数组或者js构造参数var idArr=document.getElementsByName("id");类似的构造参数,可以构造成字符串,用分隔符,后台解析
解决方案二:
下面的代码是个例子public int autoAssign(Map<String, String> params) throws SQLException {String sql = "update client set flag=1,assigntime='"+ Convert.getNowDateTime() + "',followman=? where clientid=?";Connection conn = null;PreparedStatement pstmt = null;int result = 0;try {conn = DBConn.getConnection();conn.setAutoCommit(false);pstmt = conn.prepareStatement(sql);Set<String> keys = params.keySet();for (String key : keys) {pstmt.setString(1, params.get(key));pstmt.setString(2, key);result += pstmt.executeUpdate();}conn.commit();pstmt.close();} catch (Exception e) {e.printStackTrace();conn.rollback();return 0;} finally {DBConn.closeConnection(conn);}return result;}当数据很多时,考虑 addBatch();我这里的参数是Map 一个存id 一个存修改的值,这样一一对应;如果你修改的值多,可以用其他方式存
解决方案三:
至于修改的话,如果修改后的新值都是一样的,比如批量审核,将状态改为审核,这中情况无需循环操作,可以选择 update table set status = 1 where id in('001','002')类似的方式另一种批量修改,改后的新值都不一样,那可以选择循环预编译sqlupdate table set column1 = ?,column2=?.. where id=?这中情况对数据有一定要求: 数据应该正确对应比如id 存在一个数组,其他各字段值存放在各自的数组但应该是对应的{'001','002','003'}{'value1','value2',value3''}这样给sql传递参数就很方便说得不是很详细。。不知道是否了解了我的意思

时间: 2024-10-26 11:40:02

关于JAVA插入,修改多条信息如何处理,谢谢!的相关文章

C#中,如何在发生某一特定事件之后,比较当前信息和access数据库中某条信息一致的时候,就修改这条信息的某个字段(比如count字段,我是为了做一个统计)+1

问题描述 C#中,如何在发生某一特定事件之后,比较当前信息和access数据库中某条信息一致的时候,就修改这条信息的某个字段(比如count字段,我是为了做一个统计),给这个字段+1.?我在百度上面搜索了一些关于如何增删修改查询access的程序,但是奈何之前没有学过数据库,看着有点困难,知道如何增删数据和查询数据.但是不知道如何修改数据,头疼的很,求各位大神指导!! 解决方案 解决方案二:修改数据库用类似如下的sqlupdate表set字段=xxxwhereid=xxx

Java插入修改删除数据库数据的基本方法_java

Java数据库之插入记录 插入数据表记录有3种方案 一.使用Statement对象 实现插入数据表记录的SQL语句的语法是: insert into 表名(字段名1,字段名2,--)value (字段值1,字段值2,--) 例如:   insert into ksInfo(考号,姓名,成绩,地址,简历)value('200701','张大卫'534,'上海欧阳路218弄4-1202','') 实现同样功能的Java程序代码是: sql = "insert intoksIno(考号,姓名,成绩,地

oracle取得最后插入的一条数据

问题描述 往数据库里插入blob,要先插空,然后update,但从插入数据不能判断哪条是最后插入的,怎样可以获得最后插入的那条数据?谢谢了...问题补充:现在数据库确定了,我不能随便改,所以不能添加自增长的标识列...但原本数据库里有个VARCHAR类型的,我给它添加了seq,让它每次增1,可以通过这个获得最大的吗??问题补充:To:ham我小菜,刚开始写程序,你说的问题没有想到,现在写东西都只是简单的实现,好多情况都没考虑,呵呵...另外你说的seqRow是我创建的sequence+Row吗?

怎样快速的向SQL-2000里插入10万条数据啊?

问题描述 本人刚参加了一个公司的笔试,有这样一道题,想到了一个笨方法,但速度比较慢,有没有比较快速的方法,向数据库里插入10万条数据?谢谢了... 解决方案 解决方案二:BULKINSERT解决方案三:能不能说的清楚点,还是不明白.解决方案四:在SQL联机帮助里找找看,网上搜索下也行的.解决方案五:有点难度哦

用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事?

问题描述 用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事? 我用的是mysql的数据库, jsp <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML> <div class="fo

sql server 2000中循环插入100万条数据

server|插入|数据|循环 出处:∮明天去要饭's Blog         前段时间在测试100万条以上数据时的分页速度,需要往数据库中插入100万条记录,那个时候插入记录我是用C#写的,后来发现,其实用SQL自已也可以实现的,而且更简单哦!以下是我写的一个实例,很简单,大家应该能看懂的.         declare @i int  --变义变量@i        set @i = 1 --初始化@i为1        while @i < 100 --如果@i小于100,这里改成10

web项目中页面修改javamail发件人信息后发邮件失败

问题描述 web项目中页面修改javamail发件人信息后发邮件失败 我们的web项目使用javamail发送邮件.页面可修改发送邮件的服务器.发件人信息,但是现在在页面修改发件人邮箱地址和密码之后,发送邮件失败.重起Tomcat服务器之后,又可以正常发送邮件,各位大神,有谁知道为什么呢? public boolean sendMail(String subject String body){ Properties props = new Properties(); props.put("&qu

批量处理-mysql 批量提交数据,在存储过程中,分别判断是更新,还是插入,怎么统计更新了多少条,插入了多少条

问题描述 mysql 批量提交数据,在存储过程中,分别判断是更新,还是插入,怎么统计更新了多少条,插入了多少条 存储过程中计数器初始设置为零,每成功一次加1, 问题是,批量处理后,计数器每次都被重置,没有实现累加 求解救 解决方案 计数写全局变量,不要用局部变量 解决方案二: 如果是用JDBC批量提交数据的话,会返回一个int值标识插入或者修改或者删除了多少条记录的. 解决方案三: 你是否定义为局部变量了,或者是你没有执行增加操作,一直是在赋值.

java-如何利用jtable删除数据库一条信息

问题描述 如何利用jtable删除数据库一条信息 public class userinfo { private String USERACCOUNT; private String USERNAME; private String NICKNAME; private String PASSWORD; private int SEX; private String PHONE; private String EMAIL; private String REGION; private String