|
Letzte
Bearbeitung dieses Dokuments: |
Code
Erklärungen
und Anwendungsbeispiele
Verwandte
Dokumentation
package
js_base.dba;
/*
*
de: Package für die Verbindung zur Datenbank.
*
en: Package for the connection to the database. */
import
java.sql.*;
/*
*
de:
*
Package
mit der Klasse mit dem minimalen Set an Parametern. Diese enthält das
Arbeitsdatum.
*
Das Arbeitsdatum wird für die Selektion bei verschiedenen Abfragen
gebraucht.
*
en:
*
Package
with the class with the minimal set of parameters. Those contains the
working-date.
*
The working-date is needed for the selection at different database
requests.
*/
import
js_base.structures.JSBS_MinimalParameters;
/**
*
* @author kurt(at)javascout(dot)biz
* @date
2008-02-13
*
* @description
*
de:
* Data-Base-Access (DBA) Objekt zum Lesen eines
Sets von Datensätzen von der
* Datenbank-Tabelle
'Parameter.
*
* Für die
Beschreibung der Variablen sehen Sie bitte bei der
Variablen-Deklaration
* des zugehörigen
DBA-Objektes nach.
*
*
Anwender-bekannter-Schlüssel: ParameterName, Value01,
Value02, Value03, Value04, Value05.
*
*
en:
* Data-Base-Access (DBA) Object to read a
set
of data from the table 'Parameter'.
*
* Please
see the description at the variables-declaration in the associated
DBA-Object.
*
* User-Known-Key:
ParameterName, Value01, Value02, Value03, Value04, Value05.
*
* @change-log
*
when who why
*
--------------------------------------------------------
*
*/
public
class
JSBS_Parameter_DBA_Set
extends
JSBS_DBA_Set
{
/*
*
METHODEN / METHODS
* --------------------------
*/
/*
* de:
* Methode zum Selektieren aller
Datensätze für einen gegebenen Parameter-Namen
*
die zum aktuellen Datum gültig sind.
*
en:
* Method to select all datasets for a given
parameter-name which are valid at
* at the actual
date. */
public
synchronized
void
selectByParameterName(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value02
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setDate(4,
locdteWorkDate);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet. */
if
(!SQLResultSet.next())
return
;
/* de:
*
Zur Sicherheit noch einmal überprüfen ob die Gültigkeit
des Datensatzes mit dem
* aktuellen Datum übereinstimmt.
*
en:
* Check a second time if the validity of the dataset
fits the actual date.
*/
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class. */
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message. */
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en:
An
error occured while running the DB-operation; get the textual
message. */
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
* de:
* Methoden mit
weiteren Selektionskriterien. Für die Erklärung des Codes
lesen Sie bitte
* die Kommentare bei der Methode
'selectAllValidForParameterName'.
*
en:
* Method with further selection-criterias. For an
explanation of the code read the comments
* at method
'selectAllValidForParameterName'. */
public
synchronized
void
selectByValue01(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue01);
SQLStatement.setDate(4,
locdteWorkDate);
SQLStatement.setDate(5,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectByValue01_02(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String
parmValue01,
String
parmValue02) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue01);
SQLStatement.setString(4,
parmValue02);
SQLStatement.setDate(5,
locdteWorkDate);
SQLStatement.setDate(6,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectByValue01_03(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String
parmValue01,
String
parmValue02, String parmValue03) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue01);
SQLStatement.setString(4,
parmValue02);
SQLStatement.setString(5,
parmValue03);
SQLStatement.setDate(6,
locdteWorkDate);
SQLStatement.setDate(7,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectByValue01_04(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String
parmValue01,
String
parmValue02, String
parmValue03,
String
parmValue04) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value04
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue01);
SQLStatement.setString(4,
parmValue02);
SQLStatement.setString(5,
parmValue03);
SQLStatement.setString(6,
parmValue04);
SQLStatement.setDate(7,
locdteWorkDate);
SQLStatement.setDate(8,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectByValue01_05(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String
parmValue01,
String
parmValue02, String
parmValue03,
String
parmValue04, String parmValue05) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value04
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value05
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue01);
SQLStatement.setString(4,
parmValue02);
SQLStatement.setString(5,
parmValue03);
SQLStatement.setString(6,
parmValue04);
SQLStatement.setString(7,
parmValue05);
SQLStatement.setDate(8,
locdteWorkDate);
SQLStatement.setDate(9,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectByValue02(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue02) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
<=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue02);
SQLStatement.setDate(4,
locdteWorkDate);
SQLStatement.setDate(5,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
/*
*
de:
* METHODE zum Selektieren aller Datensätze für
einen gegebenen Objekt-ID.
* Diese Methode wird zum Anzeigen
von Veränderungen (History) des BO verwendet.
* Weiters
wird damit beim 'deaktivieren' des BO festgestellt, welche
Datensätze
* noch über das aktuelle Datum hinaus
gültig sind.
*
en:
* METHOD to select all datasets for a given
Object-ID.
* This method is used to show changes (display
history) of the Business-Object (BO).
* Furthermore this
method is used to decide, which datasets are valid after
*
the actual date when the BO is 'deactivated'. */
public
synchronized void
selectAllByObjectID(Connection
parmDBCon,
double
parmObjectID) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ObjectID
+
"
=? "
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_ValidFrom
+
"
asc, "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
asc"
;
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setDouble(1,
parmObjectID);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet. */
if
(!SQLResultSet.next())
return
;
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet. */
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class. */
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message. */
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
/*
*
de:
* METHODE zum Selektieren einer durch den Parameter
'parmNumberOfRecords' festgelegten
* Anzahl von Datensätzen deren
Wert im Attribut 'ChangedAt' gleich oder kleiner ist
als
* der im Parameter 'parmBeginTimestamp' übergebene Wert für einen gegebenen 'ParameterName'.
* Die Datensätze sind absteigend nach ihrem Wert im Attribut
'ChangedAt' sortiert.
* Es werden mit dieser Methode eine vorgegebene Anzahl von
Datensätzen selektiert die gleich
* alt oder älter sind als der im Parameter
'parmBeginTimestamp' übergebene Wert.
* Diese
Methode wird gebraucht wenn bei der Version 'MobileClient' die Daten
auf einem
* mobilen Client mit den Daten des Servers synchronisiert
werden müssen.
*
*
en:
* METHOD to select a number (given in the parameter
'parmNumberOfRecords') of records
* which value in the attribute 'ChangedAt' is equal or less
than the value passed in parameter
* 'parmBeginTimestamp' for a given 'ParameterName'.
* The records are
sorted descending after their value in the attribute 'ChangedAt'.
* This method selects a given number of records which are as
old or older than the value
* passed in parameter 'parmBeginTimestamp'.
* This method is needed when the data on a mobile client have
to be synchronized with the data
* on the server when a 'MobileClient' version is
running. */
public
synchronized void
selectAllByChangedAt(Connection
parmDBCon, String parmParameterName,
Timestamp
parmBeginTimestamp,
int
parmNumberOfRecords) {
/*
*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =? "
+
" and "
+ JSBS_Parameter_DBA.
CONST_ChangedAt
+
"
<=? "
+
/*
*
de:
Sortierkriterium mit dem die gefundenen Datensätze nach dem Alter
sortiert werden.
* en: Sorting-criteria to sort the found records by age. */
"
order by "
+ JSBS_Parameter_DBA.
CONST_ChangedAt
+
" desc"
+
/*
*
de: Anzahl der
Datensätze die mit dieser Abfrage gelesen werden sollen.
* en: Number of records that should be read with this
selection. */
" limit ? "
;
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setString(1,
parmParameterName);
SQLStatement.setTimestamp(2,
parmBeginTimestamp);
SQLStatement.setInt(3,
parmNumberOfRecords);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet. */
if
(!SQLResultSet.next())
return
;
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet. */
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class. */
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message. */
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
*
de:
* METHODE zum Selektieren einer durch den Parameter
'parmNumberOfRecords' festgelegten
* Anzahl von Datensätzen deren
Wert im Attribut 'ChangedAt' gleich oder kleiner ist
als
* der im Parameter 'parmBeginTimestamp' übergebene Wert.
* Die Datensätze sind absteigend nach ihrem Wert im Attribut
'ChangedAt' sortiert.
* Es werden mit dieser Methode eine vorgegebene Anzahl von
Datensätzen selektiert die gleich
* alt oder älter sind als der im Parameter
'parmBeginTimestamp' übergebene Wert.
* Diese
Methode wird gebraucht wenn bei der Version 'MobileClient' die Daten
auf einem
* mobilen Client mit den Daten des Servers synchronisiert
werden müssen.
* Als Unterschied zur vorigen Methode wird bei der Selektion nicht auf einen bestimmten
* Wert des Attributs 'ParameterName' eingeschränkt. Damit können alle Datensätze der
* Datenbank-Tabelle in einem Zug zwischen mobilem Client und Server synchronisiert werden.
*
*
en:
* METHOD to select a number (given in the parameter
'parmNumberOfRecords') of records
* which value in the attribute 'ChangedAt' is equal or less
than the value passed in parameter
* 'parmBeginTimestamp'.
* The records are
sorted descending after their value in the attribute 'ChangedAt'.
* This method selects a given number of records which are as
old or older than the value
* passed in parameter 'parmBeginTimestamp'.
* This method is needed when the data on a mobile client have
to be synchronized with the data
* on the server when a 'MobileClient' version is
running.
* Different to the above method, the selection is not restricted to a given value of attribute
* 'ParameterName'. This allows to synchronize (between Mobile Client and Server) all datasets
* of the database-table 'in one go'. */
public
synchronized void
selectAllByChangedAt(Connection
parmDBCon,
Timestamp
parmBeginTimestamp,
int
parmNumberOfRecords) {
/*
*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ChangedAt
+
"
<=? "
+
/*
*
de:
Sortierkriterium mit dem die gefundenen Datensätze nach dem Alter
sortiert werden.
* en: Sorting-criteria to sort the found records by age. */
"
order by "
+ JSBS_Parameter_DBA.
CONST_ChangedAt
+
" desc"
+
/*
*
de: Anzahl der
Datensätze die mit dieser Abfrage gelesen werden sollen.
* en: Number of records that should be read with this
selection. */
" limit ? "
;
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setTimestamp(1,
parmBeginTimestamp);
SQLStatement.setInt(2,
parmNumberOfRecords);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet. */
if
(!SQLResultSet.next())
return
;
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet. */
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class. */
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message. */
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/* **********************
*
de:
* Methode zum Selektieren aller Datensätze die zum
aktuellen Datum und in der Zukunft
* gültig sind für
einen gegebenen Objekt-ID.
* Mit dieser Methode wird beim
'deaktivieren' des BO festgestellt, welche Datensätze
*
noch über das aktuelle Datum hinaus gültig sind.
*
en:
* Method to select all datasets that are valid at
the actual date and will become
* valid in the future for a
given Object-ID.
* This method is used to decide, which
datasets are valid after
* the actual date when the BO is
'deactivated'. */
public
synchronized
void
selectValidAndFutureByObjectID(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
double
parmObjectID) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=? "
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ObjectID
+
"
=? "
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_ValidFrom
+
" desc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
asc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setDate(1,
locdteWorkDate);
SQLStatement.setDouble(2,
parmObjectID);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet. */
if
(!SQLResultSet.next())
return
;
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet. */
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class. */
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message. */
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
*
de:
* Methode zum Selektieren aller Datensätze für
einen gegebenen Parameter-Namen
* die zum aktuellen Datum
und in der Zukunft gültig sind.
*
en:
* Method to select all datasets for a given
parameter-name which are valid at
* the actual date and in
the future. */
public
synchronized
void
selectValidAndFutureByParameterName(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value02
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements()
;
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
=
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
* de:
* Methoden mit
weiteren Selektionskriterien. Für die Erklärung des Codes
lesen Sie bitte
* die Kommentare bei der Methode
'selectValidAndFutureByParameterName'.
*
en:
* Method with further selection-criterias. For an
explanation of the code read the comments
* at method
'selectValidAndFutureByParameterName
'. */
public
synchronized
void
selectValidAndFutureByParameterNameAndValue_01(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value02
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setString(4, parmValue01
);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements();
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
= new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(locstructJSBS_Parameter_DBA);
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/* ********* */
public
synchronized
void
selectValidAndFutureByParameterNameAndValue_01_02(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01, String parmValue02
) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value
03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setString(4, parmValue01
);
SQLStatement.setString(5, parmValue02
);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements();
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
= new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(locstructJSBS_Parameter_DBA);
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/* ********* */
public
synchronized
void
selectValidAndFutureByParameterNameAndValue_01_02_03(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01, String parmValue02
,
String parmValue03
) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value
04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setString(4, parmValue01
);
SQLStatement.setString(5, parmValue02
);
SQLStatement.setString(6, parmValue03
);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements();
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
= new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(locstructJSBS_Parameter_DBA);
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/* ********* */
public
synchronized
void
selectValidAndFutureByParameterNameAndValue_01_02_03_04(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01, String parmValue02
,
String parmValue03,
String parmValue04
) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value04
+
" =?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value
05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setString(4, parmValue01
);
SQLStatement.setString(5, parmValue02
);
SQLStatement.setString(6, parmValue03
);
SQLStatement.setString(7, parmValue04
);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements();
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
= new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(locstructJSBS_Parameter_DBA);
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/* ********* */
public
synchronized
void
selectValidAndFutureByParameterNameAndValue_01_02_03_04_05(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue01, String parmValue02
,
String parmValue03,
String parmValue04
,
String parmValue05
) {
/*
de:
* 'Bauen' des SQL-Kommandos in einer Zeichenkette.
*
Das SQL-Kommando wird zuerst in einer eigenen Zeichenkette aufgebaut
(und nicht gleich
* als Parameter der preparedStatement
Methode) um das SQL-Kommando klar sehen zu können.
*
Das ist hilfreich wenn es notwendig ist, den Debugger einzusetzen.
*
en:
* Build the SQL-Command in a String.
* The
Command is put into an extra String (and not into the
prepareStatement method)
* to see more clearly how the
SQL-command looks like.
* This is helpful when debugging.
*/
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+ JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value01
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value03
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value04
+
" =?"
+
"
and "
+ JSBS_Parameter_DBA.
CONST_Value05
+
" =?"
+
"
order by "
+ JSBS_Parameter_DBA.
CONST_Value
06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
/*
de: Umwandeln des aktuellen Datums (aus den übergebenen
Parametern) in das java.sql.Date Format.
* en: Convert the
actual date (from the passed parameters) to the java.sql.Date format.
*/
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
/*
de: 'PreparedStatement'; eine spezielle Klasse für Operationen
auf die Datenbank.
* en: 'PreparedStatement'; a special
class for operations toward the database. */
PreparedStatement
SQLStatement;
try
{
/*
de: 'PreparedStatement' konstruieren und mit dem SQL-Kommando
füllen.
* en: Construct the 'PreparedStatement' and
fill it with the SQL-command. */
SQLStatement
= parmDBCon.prepareStatement(locstrSQLCommand);
/*
de: Füllen der Variablen im 'PreparedStatement'.
* en:
Fill the variable(s) in the 'PreparedStatement'.
*/
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setDate(3,
locdteWorkDate);
SQLStatement.setString(4, parmValue01
);
SQLStatement.setString(5, parmValue02
);
SQLStatement.setString(6, parmValue03
);
SQLStatement.setString(7, parmValue04
);
SQLStatement.setString(8, parmValue05
);
/*
de: Ausführen der Datenbank-Operation für ein SELECT.
*
en: Perform the database-operation for SELECT. */
ResultSet
SQLResultSet = SQLStatement.executeQuery();
/*
*
de: Übertragen der Daten vom ResultSet in den Vector mit den
einzelnen DBA-Objekten.
* en: Transfer the data from the
ResultSet to the vector with the individual DBA-objects.
*/
vecRecordSet
.removeAllElements();
for
(;;)
{
/*
de:
* Einen Datensatz nach dem Anderen lesen;
*
for-Schleife abbrechen wenn kein weiterer Datensatz mehr im ResultSet
vorhanden ist.
* en:
* Read one dataset after the
other;
* break the for-loop if there is no more dataset
within the ResultSet.
*/
if
(!SQLResultSet.next())
return
;
/* de:
*
Prüfen ob der in Zukunft beginnende Datensatz überhaupt
'gültig' werden kann.
* Damit werden zukünftig
bereits 'deaktivierte' Datensätze ausgeschlossen.
*
en:
* Verify if the dataset with validity starting in the
future can become valid anyway
* That verification excludes
dataset which validity starts in the future but are
*
already 'deactivated'. */
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(
locdteReadValidFrom
.getTime()
<=
locdteReadValidTill
.getTime()) {
/* de:
*
Ein DBA-Objekt 'konstruieren' und die Werte aus dem SQLResultSet
übertragen.
* en:
* Construct a DBA-object and
transfer the values of the SQLResultSet.
*/
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA
= new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
/*
de:
* Einfügen des einzelnen DBA-Objektes in den
Vector;
* dieser ist in der geerbten Basisklasse
definiert.
* en:
* Insert the single DBA-object
into the Vector;
* the Vector is defined in the
inherited base-class.
*/
vecRecordSet
.addElement(locstructJSBS_Parameter_DBA);
}
/* de:
*
Datenbank-Operation wurde ohne Fehler ausgeführt; zurückmelden
an die aufrufende Methode
* durch eine leere Zeichenkette
für die Fehlermeldung (error-message).
* en:
*
Database operation run without an error; report this to the calling
method by an empty string
* for the error-message.
*/
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
/* de:
Während des Ausführens der DB-Operation ist ein Fehler
aufgetreten; Text-Nachricht holen.
* en: An error occured
while running the DB-operation; get the textual message.
*/
ErrorMsg
=
SQLExc.getMessage();
}
}
/*
************************
*/
public
synchronized
void
selectValidAndFutureByParameterNameAndValue02(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String parmValue02) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
JSBS_Parameter_DBA.
CONST_ClientID
+
"
=?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ParameterName
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_Value02
+
" =?"
+
"
and "
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
"
>=?"
+
"
order by "
+
JSBS_Parameter_DBA.
CONST_Value01
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value03
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value04
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value05
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value06
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value07
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value08
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value09
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value10
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value11
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value12
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value13
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value14
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value15
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value16
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value17
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value18
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value19
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_Value20
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidFrom
+
" asc,
"
+
JSBS_Parameter_DBA.
CONST_ValidTill
+
" desc"
;
Date
locdteWorkDate =
new
Date(parmMinParm.
calWorkDate
.getTime().getTime());
PreparedStatement
SQLStatement;
try
{
SQLStatement
=
parmDBCon.prepareStatement(locstrSQLCommand);
SQLStatement.setInt(1,
parmMinParm.
intClientID
);
SQLStatement.setString(2,
parmParameterName);
SQLStatement.setString(3,
parmValue02);
SQLStatement.setDate(4,
locdteWorkDate);
ResultSet
SQLResultSet =
SQLStatement.executeQuery();
vecRecordSet
.removeAllElements()
;
for
(;;)
{
if
(!SQLResultSet.next())
return
;
locdteReadValidFrom
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidFrom
);
locdteReadValidTill
=
SQLResultSet.getDate(JSBS_DBA.
CONST_ValidTill
);
if
(isWithinDateRange(locdteWorkDate,
locdteReadValidFrom
,
locdteReadValidTill
)) {
JSBS_Parameter_DBA
locstructJSBS_Parameter_DBA =
new
JSBS_Parameter_DBA();
locstructJSBS_Parameter_DBA.getValuesFromSQLResultSet(SQLResultSet);
vecRecordSet
.addElement(
locstructJSBS_Parameter_DBA
)
;
}
ErrorMsg
=
""
;
}
}
catch
(SQLException
SQLExc) {
ErrorMsg
=
SQLExc.getMessage();
}
}
}
Die
Methoden dieser Klasse werden innerhalb der Klasse eines
Business-Object (Server-Seite) für ein Anwendungsprogramm aufgerufen.
Einen Muster-Code für ein solches Business-Object finden Sie im
Dokument Muster-Code für ein
BOS_Set (Liste mit Business-Objects, Server-Side-Klasse).
Dokument |
Inhalt |
JSBS_Parameter_DBA - Basisklasse für den Low-Level Zugriff auf die DB-Tabelle 'Parameter' |
Klasse für das Einfügen, Ändern und Selektionen von der Datenbank, die per Definition nur einen Datensatz als Ergebnis zurück liefern können. |