java当中JDBC当中Scrollable和Updatable ResultSet的用法和Helloworld例子

在前面的jdbc的Helloworld程序当中,我们接触了最简单的 Statement。那种Statement的光标只能向前移。意思就是访问完2,只能继续访问3,不能再回过头来访问1。还有就是当我们查询数据库的时 候,我们不能同时修改数据库。但在现实生活当中,我们确实有这种需求,就是如果当我们正在查询一个数据库的时候,发现某个数据有问题,想当时就修改它。对 付这种情况,sun公司专门提供了一种新的Statement。即Scrollable(可滚动的,可向前可向后)和Updatable(可更新的)的 Statement。即con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
1.Update(更新) a row程序

以下这个程序就把第二条row的id更改成了“11”。
例:5.1.1

/*when do this experiment, if it is sql server,pls make sure you have a primary key in your table.*/
import java.sql.*;
public class TestMark_to_win {
    public static void main(String[] args) throws SQLException,
            ClassNotFoundException {

            Class.forName("com.mysql.jdbc.Driver");
            Connection con = java.sql.DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "root", "1234");
            String s = "select * from login";
        /* A default ResultSet object is not updatable and has a cursor that
             * moves forward only. Thus, you can iterate through it only once
             * and only from the first row to the last row. It is possible to
             * produce ResultSet objects that are scrollable and/or updatable.
             */
            Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                            ResultSet.CONCUR_UPDATABLE);
            ResultSet rs = stm.executeQuery(s);
            /* boolean absolute(int row) Moves the cursor to the given row
             * number in this ResultSet object.who is 1? experimentally,but
             * undocumentally, the order is based on the primary key column.
             */
            rs.absolute(2);
     /* public void updateString(String columnName,string s)throws SQLException
             * Updates the designated column with a string value. The updater
             * methods are used to update column values in the current row or
             * the insert row. The updater methods do not update the underlying
             * database; instead the updateRow or insertRow methods are called
             * to update the database. */
            rs.updateString("id", "11");
            // rs.cancelRowUpdates();

更多请见:http://www.mark-to-win.com/tutorial/java_10_ScrollableUpdatableResultSet.html

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值