FileDocCategorySizeDatePackage
JDBCQuery.javaAPI DocExample2945Tue Mar 13 15:32:28 GMT 2001None

JDBCQuery

public class JDBCQuery extends Object
A trivial example of a database query performed with JDBC. The database being queried only exists locally on Windows'95; it the MS Access "Video Database" sample database. Note that you must select this as "System DSN" under the name "Video.Collection" (On '95 you do this from Settings->Control Panel->32Bit ODBC->System DSN) for this particular configuration of the demo to work. Other than this (see the URL below), the demo would work on any platform (UNIX, MS, Mac, Novell, etc.). We simply get a JDBC connection to the local Database server via ODBC, create a Statement from that, and a ResultSet with its Query set to a selection of three items from a database table, and print the results in a while loop as they come in from the database.

Fields Summary
Constructors Summary
Methods Summary
private static voidcheckForWarning(java.sql.SQLWarning warn)


	     // If a SQLWarning object was given, display the
	     // warning messages.  Note that there could be
	     // multiple warnings chained together

	     if (warn != null) {
		     System.out.println("*** Warning ***\n");
		     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();
		     }
	     }
     
public static voidmain(java.lang.String[] av)

	    try {
			System.out.println("Loading Driver (with Class.forName)");
			// Load the jdbc-odbc bridge driver
			Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

			// Enable logging
			// DriverManager.setLogStream(System.err);

			System.out.println("Getting Connection");
			Connection conn = DriverManager.getConnection (
				"jdbc:odbc:Companies",
				"ian", "");	// user, passwd

			// Any warnings generated by the connect?
			checkForWarning(conn.getWarnings());

			System.out.println("Creating Statement");
			Statement stmt = conn.createStatement();

			System.out.println("Executing Query");
			ResultSet rs = stmt.executeQuery("SELECT * FROM Companies");

			System.out.println("Retrieving Results");
			int i = 0;
			while (rs.next()) {

				System.out.println("Retrieving Company ID");
				int x = rs.getInt("CustNO");
				System.out.println("Retrieving Name");
				String s = rs.getString("Company");

				System.out.println("ROW " + ++i + ": " +
					x + "; " + s + "; " + ".");

			}

			rs.close();		// All done with that resultset
			stmt.close();	// All done with that statement
			conn.close();	// All done with that DB connection

	    } catch (ClassNotFoundException e) {
			System.out.println("Can't load driver " + e);
	    } catch (SQLException e) {
			System.out.println("Database access failed " + e);
	    }