PrepJDBC.java~10~
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package com.cwj.DatabaseAccessDemo;
  2. //以下例子演示PreparedStatement的使用
  3. import java.sql.*;
  4. public class PrepJDBC {
  5.   public PrepJDBC() {
  6.     Connection conn=null;
  7.     Statement stat1=null;
  8.     Statement stat2=null;
  9.     ResultSet result=null;
  10.     PreparedStatement pstmt;
  11.     String sqlString="create table digest("+
  12.                     "id int not null CONSTRAINT pk_id PRIMARY KEY CLUSTERED,"+
  13.                     "author varchar(20), titile varchar(50))";
  14.     String insertSQL = "Insert INTO digest VALUES(?, ?, ?)" ;
  15.     int[] ids = {1, 2, 3, 4, 5} ;
  16.     String[] authors = {"java", "rjb", "java", "bill", "scott"} ;
  17.     String[] titles = { "Prepared Hello",
  18.     "Prepared Hello Java",
  19.     "Prepared Hello Robert",
  20.     "Prepared Hello from Bill",
  21.     "Prepared Hello from Scott"} ;
  22.     try{
  23.         Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  24.         conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=Northwind;User=sa;Password=sa");
  25.         stat1=conn.createStatement();
  26.         //创建表结构
  27.         stat1.executeUpdate(sqlString);
  28.         //通过循环向表中添加数据
  29.         pstmt = conn.prepareStatement(insertSQL) ;
  30.         for(int i = 0 ; i < ids.length ; i++){
  31.                 pstmt.setInt(1, ids[i]) ;
  32.                 pstmt.setString(2, authors[i]) ;
  33.                 pstmt.setString(3, titles[i]) ;
  34.                 pstmt.executeUpdate() ;
  35.         }
  36.         stat2=conn.createStatement();
  37.         //检查刚才插入的记录
  38.         result=stat2.executeQuery("Select * from digest");
  39.         System.out.println("编号"+"  "+"作者"+"       "+"书名");
  40.         while(result.next()){
  41.           System.out.println(result.getString(1)+"  "+result.getString(2)+"  "+result.getString(3));
  42.         }
  43.         //使用完对象后及时回收内存
  44.         if(result!=null){
  45.            result.close();
  46.         }
  47.         if(stat1!=null){
  48.            stat1.close();
  49.         }
  50.         if(stat2!=null){
  51.            stat2.close();
  52.         }
  53.         if(pstmt!=null){
  54.            pstmt.close();
  55.         }
  56.         if(conn!=null){
  57.           conn.close();
  58.         }
  59.     }catch(Exception e){
  60.      System.out.println("Error"+e);
  61.     }
  62.   }
  63. }