📄 recordset.java
字号:
// **********************************************************************// // <copyright>// // BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/layer/location/db/RecordSet.java,v $// $RCSfile: RecordSet.java,v $// $Revision: 1.2.2.1 $// $Date: 2004/10/14 18:27:11 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.location.db;import java.sql.*;import com.bbn.openmap.util.Debug;/** * The RecordSet object handles all the generic database retrieval for * a SQL query. The idea is that you set it up with a connection, and * set the query string that it will use to give to the database. * Then, you iterate through the result set to create the objects you * want to: * <UL> * <LI>Set the connection and query. * <LI>Call next() repeatedly to see if there is data for another * object. * <LI>Use getResultSet(), which provides the result set containing * the current record data. This can be done within the constructor of * the data object you are trying to create. * </UL> */public class RecordSet { /** Connection object that will be used to retrieve data. */ protected Connection connection = null; /** The query string that will be executed on the database. */ protected String queryString = null; private Statement stmt; private ResultSet rset; /** * Use this constructor if you want a little more control of the * process. You have to remember to set the query string and call * getAllQuery() before trying to iterate through the results. */ public RecordSet(Connection inConnection) throws SQLException { this(inConnection, null); } /** * Does everything. If the connection and query are not null, then * the result set is ready for iteration after this object is * created. */ public RecordSet(Connection inConnection, String query) throws SQLException { connection = inConnection; queryString = query; getAllQuery(); } /** * Executes "select * from 'tableName'", or whatever the * queryString is set to. If the connection is not null, and the * queryString is not null, the database is fed the query * statement. The result is, hopefully, that the rset (ResultSet) * will be full of responses. The caller should then call next() * to interate through the results and fetch the data. * * @exception throws SQLException if something goes wrong with the * query. */ public void getAllQuery() throws SQLException { if (queryString != null && connection != null) { try { if (Debug.debugging("location")) { Debug.output("RecordSet calling database with query => " + queryString); } stmt = connection.createStatement(); rset = stmt.executeQuery(queryString); } catch (SQLException sqlE) { throw new SQLException(queryString + " | " + sqlE.getMessage()); } } else { Debug.error("Database parameters faulty!\n query => " + queryString + "\n connection => " + connection); } } /** * This function should be called to prepare the result set with * the next record set of data. Then you feed this RecordSet * object to the constructor to a new data object. */ public boolean next() throws SQLException { if (rset != null) { return rset.next(); } else return false; } /** * Get the result set, after calling next. It should contain the * current record's data. You have to know how to call the items, * and what the type of each index is - since you set the query, * you should know. You have to pay attention to the return from * the next() function, though. If next() returns false, the * result set won't contain valid data, or may be null. */ public ResultSet getResultSet() { return rset; } public void close() throws SQLException { if (rset != null) rset.close(); if (stmt != null) stmt.close(); } public Connection getConnection() { return connection; } public void setConnection(Connection inConnection) { connection = inConnection; } public String getQueryString() { return queryString; } public void setQueryString(String inQueryString) { queryString = inQueryString; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -