package com.test;
import java.sql.*;
class Hello
...{

/** *//**
* 该方法用以显示结果集;
*/
private static void showResultSet( ResultSet rs ) throws Exception...{
System.out.println("编号 图书名称 图书单价 图书数量 ");
while(rs.next())
...{
int id=rs.getInt("ID");
String book_name=rs.getString("book_name");
double book_price=rs.getDouble("book_price");
int book_quantity=rs.getInt("book_quantity");
System.out.println(id+" "+book_name+" "+book_price+" "+book_quantity);
}
}
public static void main(String args[])
...{
try
...{
/** *//**
* 将数据库中原来图书信息显示出来;
*/
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:bookdsn";
Connection con=DriverManager.getConnection(url,"sa","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT ID,book_name,book_price,book_quantity from book_stock");
showResultSet(rs);

/** *//**
* 下面使用事务;
* 不必显式开启事务,在回滚或提交事务后必须将事务
* 提交模式设置为原来默认的自动提交模式;
*/
con.setAutoCommit(false);
stmt.executeUpdate("insert into book_stock (book_name,book_price,book_quantity) values ('Win2000手册',30.00,300)");
System.out.println(" 通过execute方法插入一种新书之后:");
System.out.println("回滚事务!");
con.rollback();
con.setAutoCommit(true);

/** *//**
* 再次显示数据库中图书信息;
*/
rs=stmt.executeQuery("SELECT ID,book_name,book_price,book_quantity from book_stock");
showResultSet(rs);

/** *//**
* 以下断开连接;
*/
rs.close();
stmt.close();
con.close();
}
catch(Exception e)
...{
System.out.println("发生异常:"+e);
}
}
}


被折叠的 条评论
为什么被折叠?



