javafx学习之简单数据操作示例

今天来学习一下用javafx来开发操作数据库的代码,示例是用oracle10g数据库,开发工具是 netbeans 6 beat 2.

注意:在代码中我会把中文注解删掉,在netbeans 6 beat2 中有个BUG,有中文编译通不过,原工程式也会同时上传.

import java.lang.Thread;
import java.lang.Exception;
import java.sql.*;
//驱动类
var driverClassName = 'oracle.jdbc.OracleDriver';
//驱动url
var jdbcUrl         = 'jdbc:oracle:thin:@localhost:1521:orcl';
//用户名
var user            = 'chen';
//密码
var password        = 'chen';


//定义数据对象
var driver:Driver     = null;
var conn  :Connection = null;
var stmt  :Statement  = null;
var rs    :ResultSet  = null;

var rows  :Number;


try {
 
    var thread      = Thread.currentThread();
    var classLoader = thread.getContextClassLoader();
    var driverClass = classLoader.loadClass(driverClassName);
   
    //注册当前数据库驱动
    driver = (Driver) driverClass.instantiate();
    DriverManager.registerDriver(driver);
   
    //以下代码跟jdbc相似
    try {
        //获得Connection
        conn = DriverManager.getConnection(jdbcUrl, user, password);
        stmt = conn.createStatement();
        //获得Statement
       
        //创建一个Uuser表
        rows = stmt.executeUpdate("CREATE TABLE Uuser(id INT NOT NULL ,UName VARCHAR2(50))");
        println("CREATE TABLE rows: {rows}");
       
        //插一条记录
        rows = stmt.executeUpdate("INSERT INTO Uuser VALUES(1, 'chen')");
        println("INSERT rows: {rows}");
       
        //插另一条记录
        rows = stmt.executeUpdate("INSERT INTO Uuser VALUES(2, 'zhan')");
        println("INSERT rows: {rows}");
       
        //查询Uuser表
        rs = stmt.executeQuery("SELECT * FROM Uuser");
        while(rs.next()) {
            println("id: {rs.getInt('id')} task: {rs.getString('UName')}");
        }
    } catch(e:SQLException) {
        e.printStackTrace();
    } finally {
        //ResultSet不为空关闭
        if(null <> rs){rs.close();}
        //Statement不为空关闭
        if(null <> stmt) {
            try {
                stmt.close();
            } catch(e:SQLException) {
                e.printStackTrace();
            }
        }
       
        if(null <> conn){conn.close();}//Connection不为空关闭
    }
} catch(e:Exception) {
    e.printStackTrace();
}

程序中的源码,如下:

import java.lang.Thread;
import java.lang.Exception;
import java.sql.*;

var driverClassName = 'oracle.jdbc.OracleDriver';

var jdbcUrl         = 'jdbc:oracle:thin:@localhost:1521:orcl';

var user            = 'chen';

var password        = 'chen';

 

var driver:Driver     = null;
var conn  :Connection = null;
var stmt  :Statement  = null;
var rs    :ResultSet  = null;

var rows  :Number;


try {
 
    var thread      = Thread.currentThread();
    var classLoader = thread.getContextClassLoader();
    var driverClass = classLoader.loadClass(driverClassName);
   
   
    driver = (Driver) driverClass.instantiate();
    DriverManager.registerDriver(driver);
   
   
    try {
      
        conn = DriverManager.getConnection(jdbcUrl, user, password);
        stmt = conn.createStatement();
      
       
       
        rows = stmt.executeUpdate("CREATE TABLE Uuser(id INT NOT NULL ,UName VARCHAR2(50))");
        println("CREATE TABLE rows: {rows}");
       
       
        rows = stmt.executeUpdate("INSERT INTO Uuser VALUES(1, 'chen')");
        println("INSERT rows: {rows}");
       
       
        rows = stmt.executeUpdate("INSERT INTO Uuser VALUES(2, 'zhan')");
        println("INSERT rows: {rows}");
       
       
        rs = stmt.executeQuery("SELECT * FROM Uuser");
        while(rs.next()) {
            println("id: {rs.getInt('id')} task: {rs.getString('UName')}");
        }
    } catch(e:SQLException) {
        e.printStackTrace();
    } finally {
      
        if(null <> rs){rs.close();}
     
        if(null <> stmt) {
            try {
                stmt.close();
            } catch(e:SQLException) {
                e.printStackTrace();
            }
        }
       
        if(null <> conn){conn.close();}
    }
} catch(e:Exception) {
    e.printStackTrace();
}

控制台打印结果如下:

init:
deps-jar:
compile:
Copy libraries to C:/Documents and Settings/Administrator/My Documents/NetBeansProjects/JavaFXApplication1/dist/lib.
To run this application from the command line without Ant, try:
java -jar "C:/Documents and Settings/Administrator/My Documents/NetBeansProjects/JavaFXApplication1/dist/JavaFXApplication1.jar" javafxDemo
jar:
compile thread: Thread[AWT-EventQueue-0,6,main]
compile 0.171
run:
compile thread: Thread[AWT-EventQueue-0,6,main]
compile 0.203
CREATE TABLE rows: 0
INSERT rows: 1
INSERT rows: 1
id: 1 task: chen
id: 2 task: zhan
init: 5.938
BUILD SUCCESSFUL (total time: 17 seconds)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值