最新文章:

首页 JDBC

结果集ResultSet对数据库进行增删改

发布时间:2016年06月09日 评论数:抢沙发 阅读数:330

    并不是所有结果集都能对数据库进行增删改,必须满足一下几个条件

    1.查询只引用了一个数据表

    2.查询不包含任何联接操作

    3.查询结果中包含主键

    源码如下


    package RS;
    import java.io.FileInputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    /***
     * 通过结果集增删改
     * @author HDC
     */
    public class Test4 {
    	public static void main(String[] args) {
    		Properties p = new Properties();
    		Statement stm = null;
    		Connection con = null;
    		ResultSet rs = null;
    		try {
    			p.load(new FileInputStream("Ch3/RS/db.properties"));
    			// 注册
    			Class.forName(p.getProperty("dirStr"));
    			// 连接
    			con = DriverManager.getConnection(p.getProperty("conStr"), p.getProperty("user"),
    					p.getProperty("password"));
    			String sql = "select * from student";
    			String sql2 = "";
    			// 结果集可对数据库修改
    			stm = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    			rs = stm.executeQuery(sql);
    			while (rs.next()) {
    				System.out.println(rs.getInt("id") + "\t" + rs.getString("name") + "\t" + rs.getInt("classid"));
    			}
    			// 使用结果集对最后一条数据进行修改(结果集要运行执行更新操作)
    			rs.last();// 定位到最后一条
    			rs.updateString("classid", "2");// 修改结果集最后一条的classid信息
    			rs.updateRow();// 将修改结果同步到数据库
    			//使用结果集对数据进行删除的操作
    			rs.last();// 定位到最后一条
    			rs.deleteRow();//删除最后一条 并把结果同步到数据库
    			//使用结果集对数据进行增加的操作
    			rs.moveToInsertRow();//定位到结果集新的一行
    			rs.updateString("classid", "1");//设置结果集新的行的数据
    			rs.insertRow();//把结果集同步更新到数据库
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {//关闭jdbc
    				if (rs != null) {
    					rs.close();
    				} else if (stm != null) {
    					stm.close();
    				} else if (con != null) {
    					con.close();
    				}
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    



二维码加载中...
本文作者:HDC      文章标题: 结果集ResultSet对数据库进行增删改
本文地址:http://hdcin.cn/?post=74
版权声明:若无注明,本文皆为“小胖Blog's”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论