|
Letzte
Bearbeitung dieses Dokuments: |
Code
Erklärungen
und Anwendungsbeispiele
Verwandte
Dokumentation
package
js_base.dba;
import java.sql.*;
import js_base.structures.JSBS_MinimalParameters;
/**
*
* @author kurt@javascout.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_Set_DBA
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
selectAllValidForParameterName
(
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_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.setString(1,
parmParameterName);
SQLStatement.setDate(2,
locdteWorkDate);
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:
* 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
selectAllValidForValue01
(
Connection
parmDBCon, JSBS_MinimalParameters
parmMinParm,
String
parmParameterName, String
parmValue01
) {
final
String
locstrSQLCommand = JSBS_Parameter_DBA.
CONST_SELECT_ALL_ATTRIBUTES
+
"
where "
+
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.setString(1,
parmParameterName);
SQLStatement.setString(2,
parmValue01);
SQLStatement.setDate(3,
locdteWorkDate);
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();
}
}
/* ************************
*/
public synchronized void
selectAllValidForValue01_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_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.setString(1,
parmParameterName);
SQLStatement.setString(2,
parmValue01);
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();
}
}
/* ************************
*/
public synchronized void
selectAllValidForValue01_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_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.setString(1,
parmParameterName);
SQLStatement.setString(2,
parmValue01);
SQLStatement.setString(3,
parmValue02);
SQLStatement.setString(4,
parmValue03);
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
selectAllValidForValue01_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_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.setString(1,
parmParameterName);
SQLStatement.setString(2,
parmValue01);
SQLStatement.setString(3,
parmValue02);
SQLStatement.setString(4,
parmValue03);
SQLStatement.setString(5,
parmValue04);
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
selectAllValidForValue01_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_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.setString(1,
parmParameterName);
SQLStatement.setString(2,
parmValue01);
SQLStatement.setString(3,
parmValue02);
SQLStatement.setString(4,
parmValue03);
SQLStatement.setString(5,
parmValue04);
SQLStatement.setString(6,
parmValue05);
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();
}
}
/*
* 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
selectForObjectID
(
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
+
" desc"
;
/* 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();
}
}
}
xxx
Dokument |
Inhalt |
Dieser
Leitfaden enthält die notwendigen Tätigkeiten für
die Entwicklung eines StartFrame (auch als Command-Center
bekannt). |