01: /*
02: * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/TKDBResult.java,v 1.5 2000/05/22 15:01:18 careck Exp $
03: *
04: */
05: package com.teamkonzept.lib;
06:
07: import java.sql.*;
08:
09: public class TKDBResult extends TKVector {
10:
11: /**
12: * Konstruktor1
13: *
14: * @param ResultSet rs, Ausfuehrung eines Querys (SQL) =>
15: * ein ResultSet-Object wurde kreiert und wird uebergeben (JDBCD)
16: */
17: public TKDBResult(ResultSet rs) {
18: this (rs, true);
19: }
20:
21: /**
22: * Konstruktor2
23: * Konstruktor1 benutzt die this()-Syntax zum Aufruf des Konstruktors2 =>
24: * super() muss aufgrufen werden.
25: *
26: * @param ResultSet rs, Ausfuehrung eines Querys (SQL) =>
27: * ein ResultSet-Object wurde kreiert und wird uebergeben(JDBCD)
28: * @param boolean useHash
29: */
30: public TKDBResult(ResultSet rs, boolean useHash) {
31: super ();
32: addResultRow(rs, useHash);
33: }
34:
35: /**
36: * 1. DB-Anfrage
37: * 2. Ergebnis: Tabellennamen und DB-ergebnisse zu den Namen
38: * Beispile:
39: * NAME ALTER ORT
40: * --------------------
41: * Hans 22 Berlin
42: * Susi 33 Bremen
43: * ... ... ...
44: *
45: * 3. Tabellenname und Zeilenwert werden in einen hash abgelegt:
46: * {NAME=Hans, ALTER=22, ...} {NAME=SUSI,...,...}
47: *
48: * 4. jeder Hash wird in einen Vector abgelegt. Damit istdas
49: * Objekt TKDBResult eine Vector mit Hashes des DBResults
50: *
51: * @param ResultSet rs, Ausfuehrung eines Querys (SQL) =>
52: * ein ResultSet-Object wurde kreiert und wird uebergeben (JDBCD)
53: * @param boolean useHash
54: */
55: public void addResultRow(ResultSet rs, boolean useHash) {
56: //Die Namen der Tabellen aus dem DB-Result werden in einem Array
57: //abgelegt und die Typen
58: TKDBResultInfo info = new TKDBResultInfo(rs);
59: while (true) {
60: TKDBResultRow newResultRow = (useHash ? (TKDBResultRow) new TKDBResultRowHash(
61: rs, info)
62: : (TKDBResultRow) new TKDBResultRowList(rs, info));
63: if (!newResultRow.hasResult())
64: break;
65: addElement(newResultRow);
66: }
67: }
68: }
|