English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مثال على تصفح نتائج JDBC

إليك أمثلة على طرق التصفح المختلفة المشار إليها في درس "نتائج النسخ".

تم كتابة هذا المثال من قبل البيئة والنظام الأساسي للبيانات في الفصول السابقة.

نسخ وإلصاق النص التالي في ملف JDBCExample.java، ثم قم بتشغيل التكوين وتشغيله:

//步骤1.导入所需的软件包
import java.sql.*;
public class JDBCExample {
   // JDBC驱动程序名称和数据库URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/EMP";
   //  数据库凭证
   static final String USER = "username";
   static final String PASS = "password";
   
public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //步骤2:注册JDBC驱动程序
      Class.forName("com.mysql.jdbc.Driver");
      //步骤3:建立连接
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      //步骤4:执行查询以创建陈述
      // RS示例的必需参数。
      System.out.println("Creating statement...");
      stmt = conn.createStatement(
                           ResultSet.TYPE_SCROLL_INSENSITIVE,
                           ResultSet.CONCUR_READ_ONLY);
      String sql;
      sql = "SELECT id, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);
      // 将光标移到最后一行。
      System.out.println("Moving cursor to the last...");
      rs.last();
      
      //步骤5:从结果集中提取数据
      System.out.println("Displaying record...");
      //按列名检索
      int id = rs.getInt("id");
      int age = rs.getInt("age");
      String first = rs.getString("first");
      String last = rs.getString("last");
  
      //显示值
      System.out.print("ID: " + id);
      System.out.print(", Age: " + age);
      System.out.print(", First: " + first);
      System.out.println(", Last: " + last);
      // 将光标移到第一行。
      System.out.println("Moving cursor to the first row...");
      rs.first();
      
      //步骤6:从结果集中提取数据
      System.out.println("Displaying record...");
      //按列名检索
      id  = rs.getInt("id");
      age = rs.getInt("age");
      first = rs.getString("first");
      last = rs.getString("last");
  
      //显示值
      System.out.print("ID: " + id);
      System.out.print(", Age: " + age);
      System.out.print(", First: " + first);
      System.out.println(", Last: " + last);
     // 将光标移到第一行。
      System.out.println("Moving cursor to the next row...");
      rs.next();
      
      //步骤7:从结果集中提取数据
      System.out.println("Displaying record...");
      id  = rs.getInt("id");
      age = rs.getInt("age");
      first = rs.getString("first");
      last = rs.getString("last");
  
      //显示值
      System.out.print("ID: " + id);
      System.out.print(", Age: " + age);
      System.out.print(", First: " + first);
      System.out.println(", Last: " + last);
      //步骤8:清理环境
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      //处理JDBC错误
      se.printStackTrace();
   }catch(Exception e){
      //处理Class.forName的错误
      e.printStackTrace();
   }finally{
      //用于关闭资源
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      
      }
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }
   System.out.println("وداعاً!");
}
// انتهاء JDBCExample

الآن دعونا نشرح كيفية تجميع الأمثلة السابقة، كما يلي:

C:\>javac JDBCExample.java
C:\>

في وقت التشغيلJDBCExample، سينتج عنه ما يلي -

C:\>java JDBCExample
الاتصال بقاعدة البيانات...
إنشاء جملة...
تحريك المؤشر إلى السطر الأخير...
عرض السجل...
ID: 103, العمر: 30, الاسم الأول: Sumit, الاسم الأخير: Mittal
تحريك المؤشر إلى السطر الأول...
عرض السجل...
ID: 100, العمر: 18, الاسم الأول: Zara, الاسم الأخير: Ali
تحريك المؤشر إلى السطر التالي...
عرض السجل...
ID: 101, العمر: 25, الاسم الأول: Mahnaz, الاسم الأخير: Fatma
وداعاً!
C:\>