⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 20.txt

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 TXT
字号:
例程20-1
//BatchUpdate.java
import java.sql.*;
public class BatchUpdate 
{
	public static void main(String args[]) throws SQLException 
{
		ResultSet rs = null;
		PreparedStatement ps = null;
		String url = "jdbc:mySubprotocol:myDataSource";
		Connection con;
		Statement stmt;
		//加载数据库驱动程序
		try 
{
			Class.forName("myDriver.ClassName");
		}
catch(java.lang.ClassNotFoundException e) 
{
			System.err.print("ClassNotFoundException: ");
			System.err.println(e.getMessage());
		}
		try 
{
	//建立连接
			con = DriverManager.getConnection(url,
									"myLogin", "myPassword");
			//提交连接请求
			con.setAutoCommit(false);
			//创建数据库操作语句
			stmt = con.createStatement();  
			stmt.addBatch("INSERT INTO COFFEES " + 
				 "VALUES('Amaretto', 49, 9.99, 0, 0)");
			stmt.addBatch("INSERT INTO COFFEES " +
				"VALUES('Hazelnut', 49, 9.99, 0, 0)");
			stmt.addBatch("INSERT INTO COFFEES " +
				"VALUES('Amaretto_decaf', 49, 10.99, 0, 0)");
			stmt.addBatch("INSERT INTO COFFEES " +
				"VALUES('Hazelnut_decaf', 49, 10.99, 0, 0)");
			int [] updateCounts = stmt.executeBatch();
			//操作语句提交
			con.commit();
			con.setAutoCommit(true);
			//设置结果集
			ResultSet uprs = stmt.executeQuery("SELECT * FROM COFFEES");
			System.out.println("Table COFFEES after insertion:");
			//从结果集中提取查询结果
			while (uprs.next()) 
{
				String name = uprs.getString("COF_NAME");
				int id = uprs.getInt("SUP_ID");
				float price = uprs.getFloat("PRICE");
				int sales = uprs.getInt("SALES");
				int total = uprs.getInt("TOTAL");
				System.out.print(name + "   " + id + "   " + price);
				System.out.println("   " + sales + "   " + total);
			}
			uprs.close();
			stmt.close();
			con.close();
		}
catch(BatchUpdateException b) 
{
			System.err.println("-----BatchUpdateException-----");
			System.err.println("SQLState:  " + b.getSQLState());
			System.err.println("Message:  " + b.getMessage());
			System.err.println("Vendor:  " + b.getErrorCode());
			System.err.print("Update counts:  ");
			int [] updateCounts = b.getUpdateCounts();
			for (int i = 0; i < updateCounts.length; i++) 
{
				System.err.print(updateCounts[i] + "   ");
			}
			System.err.println("");
		}
catch(SQLException ex) 
{
			System.err.println("-----SQLException-----");
			System.err.println("SQLState:  " + ex.getSQLState());
			System.err.println("Message:  " + ex.getMessage());
			System.err.println("Vendor:  " + ex.getErrorCode());
		}
	}
}



例程20-2
//Select.java
import java.net.URL;
import java.sql.*;

class Select 
{
	 public static void main(String argv[])
{
		try
{
		//创建连接URL
		String url = "jdbc:odbc:wombat";

		/ 建立连接
		Connection con = DriverManager.getConnection(url, "kgh", "");

		//创建语句
		Statement stmt = con.createStatement();
		//执行查询,返回结果集
		ResultSet rs = stmt.executeQuery("SELECT a, b, c, d, key FROM Table1");

		//从结果集中提取查询结果
		System.out.println("Got results:");
		while (rs.next())
{
			//从当前行的记录中获取各个字段中的值
		    int a = rs.getInt(1);
			BigDecimal b = rs.getBigDecimal(2);
			char c[] = rs.getString(3).tocharArray();
			boolean d = rs.getBoolean(4);
			String key = rs.getString(5);
			// 打印中前面的值:
			System.out.print("  key=" + key);
			System.out.print("  a=" + a);
			System.out.print("  b=" + b);
			System.out.print("  c=");
			for (int i = 0; i < c.length; i++) 
{
				System.out.print(c[i]);
			}
			System.out.print("  d=" + d);
			System.out.print("\n");
			}

		stmt.close();
		con.close();
		}
catch (java.lang.Exception ex)
{
			ex.printStackTrace();
		}
	 }
}



例程20-3
//UpdateSQL.java
// Update a couple of rows in a database.
import java.net.URL;
import java.sql.*;

class UpdateSQL
{
public static void main(String argv[]) 
{
		try 
   	 	{
		//创建URL
		String url = "jdbc:odbc:wombat";
		//建立连接
		Connection con = DriverManager.getConnection(url, "kgh", "");
		//创建语句.
		PreparedStatement stmt = con.prepareStatement(
				"UPDATE Table1 SET a = ? WHERE key = ?");

		//设置语句内容
		stmt.setInt(1, 34);
		stmt.setString(2, "count");
		stmt.executeUpdate();
		System.out.println("Updated \"count\" row OK.");
		stmt.setString(2, "mirror");
		stmt.executeUpdate();
		System.out.println("Updated \"mirror\" row OK.");
		stmt.close();
		con.close();
		}
catch (java.lang.Exception ex) 
{
			ex.printStackTrace();
		}
}
}



例程20-4
import java.net.URL;
import java.sql.*;
class SimpleSelect 
{
public static void main (String args[]) 
{
		//JDBC-ODBC桥URL定义
	   String url   = "jdbc:odbc:my-dsn";
		//查询语句初始化
	   String query = "SELECT * FROM emp"; 
	   try
{
	  //加载JDBC-ODBC桥
		  Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
		  DriverManager.setLogStream(System.out);
		  //建立连接
		Connection con = DriverManager.getConnection (url, "my-user", "my-passwd");
		//调用判断连接告警方法
		checkForWarning (con.getWarnings ());
		//获取DatabaseMetaData类型变量实例
		DatabaseMetaData dma = con.getMetaData ();
		System.out.println("\nConnected to " + dma.getURL());
		System.out.println("Driver       " + dma.getDriverName());
		System.out.println("Version      " + dma.getDriverVersion());
		//创建语句
		Statement stmt = con.createStatement ();
		//发送查询语句,创建返回结果的结果集
		ResultSet rs = stmt.executeQuery (query);
		//调用显示结果集内容的方法
		dispResultSet (rs);
		//关闭结果集
		rs.close();
		//关闭语句
		stmt.close();
		//关闭连接
		con.close();
	}
	catch (SQLException ex) 
{
	   System.out.println ("\n*** SQLException caught ***\n");
		//显示异常信息
	   while (ex != null) 
{
		  System.out.println ("SQLState: " +	ex.getSQLState ());
		  System.out.println ("Message:  " + ex.getMessage ());
		  System.out.println ("Vendor:   " +	ex.getErrorCode ());
		  ex = ex.getNextException ();
		  System.out.println ("");
		}
	}
	catch (java.lang.Exception ex) 
{
		// Got some other type of exception.  Dump it.
		ex.printStackTrace ();
	}
}
//显示告警信息方法
private static boolean checkForWarning (SQLWarning warn) throws SQLException  
{
	boolean rc = false;
	//如果告警对象不为空,则显示告警内容
	if (warn != null) 
{
		System.out.println ("\n *** Warning ***\n");
		rc = true;
		while (warn != null) 
{
			System.out.println ("SQLState: " +warn.getSQLState ());
			System.out.println ("Message:  " +warn.getMessage ());
			System.out.println ("Vendor:   " +warn.getErrorCode ());
			System.out.println ("");
			warn = warn.getNextWarning ();
		}
	}
	return rc;
}
//显示结果集方法
private static void dispResultSet (ResultSet rs)throws SQLException
{
	int i;
	//获取ResultSetMetaData实例变量
	ResultSetMetaData rsmd = rs.getMetaData ();

	//驱动结果集的行数
	int numCols = rsmd.getColumnCount ();
	//显示每列的列名信息
	for (i=1; i<=numCols; i++) 
{
		if (i > 1) System.out.print(",");
		System.out.print(rsmd.getColumnLabel(i));
	}
	System.out.println("");
	
	//依次读取结果集中的内容
	boolean more = rs.next ();
	while (more) 
{
		//获取每列中的数据内容
		for (i=1; i<=numCols; i++) 
{
			if (i > 1) System.out.print(",");
			System.out.print(rs.getString(i));
		}
		System.out.println("");
		//取得下一行的内容
		more = rs.next ();
	}
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -