文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程J2EE/J2ME执行SQL Batch
精品推荐
特别推荐
·J2EE Web开发技术期待一次新的技术变革
·J2ME程序开发初学者快速入门的九大要点
·使用技巧:J2ME中程序优化的十个小方法
·RMS从入门到精通之一
·J2EE应用程序中SQL语句的自动构造方法
·解决J2EE系统应用性能问题常用优化项目
·J2EE实用技巧:提升JSP应用程序的绝招
·J2ME内存优
·J2ME简介
·J2EE技术
热点TOP10
·使用Servlet发送电子邮件
·基于MIDP1.0实现通信录
·NetBeans的使用(1)
·配置Eclipse进行远程调试
·J2ME程序开发初学者快速入门的九大要点
·JBoss 文档(三) JBoss和JMS
·JBoss文档(二)??JBoss开发、打包、部署
·经典飞机游戏代码S60
·走进JBoss (1)
·调整压力测试工具

执行SQL Batch

日期:2007年5月11日 作者: 查看:[大字体 中字体 小字体]

/*

Database Programming with JDBC and Java, Second Edition
By George Reese
ISBN: 1-56592-616-1

Publisher: O'Reilly

*/


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Iterator;

/**
 * Example 4.1.
 */
public class Batch {
  static public void main(String[] args) {
    Connection conn = null;

    try {
      ArrayList breakable = new ArrayList();
      PreparedStatement stmt;
      Iterator users;
      ResultSet rs;

      Class.forName(args[0]).newInstance();
      conn = DriverManager.getConnection(args[1], args[2], args[3]);
      stmt = conn.prepareStatement("SELECT user_id, password "
          + "FROM user");
      rs = stmt.executeQuery();
      while (rs.next()) {
        String uid = rs.getString(1);
        String pw = rs.getString(2);

        // Assume PasswordCracker is some class that provides
        // a single static method called crack() that attempts
        // to run password cracking routines on the password
        //                if( PasswordCracker.crack(uid, pw) ) {
        //                  breakable.add(uid);
        //            }
      }
      stmt.close();
      if (breakable.size() < 1) {
        return;
      }
      stmt = conn.prepareStatement("UPDATE user "
          + "SET bad_password = 'Y' " + "WHERE uid = ?");
      users = breakable.iterator();
      while (users.hasNext()) {
        String uid = (String) users.next();

        stmt.setString(1, uid);
        stmt.addBatch();
      }
      stmt.executeBatch();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (conn != null) {
        try {
          conn.close();
        } catch (Exception e) {
        }
      }
    }
  }
}
[1] [2] 下一页 



上一篇:使用Oracle JDBC驱动

下一篇:在MySQL中添加表
相关文章:
·无法打开EXE可执行文件的解决
·vBulletin 论坛forumdisplay.php执行任意代码漏洞
·通过分析SQL语句的执行计划优化SQL(一)
·docmd.runsql 语句执行的操作查询如何回滚?
·关闭Vista数据执行保护杜绝软件冲突
·Delphi程序执行时实时生成报表
·如何在DB2里面更新执行计划
·在Win XP系统中执行干净启动
·专家详解:复杂表达式的执行步骤
·MySQL中执行SQL语句时的两个注意点
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot