📄 stnchltablerow.java
字号:
// Perhaps needs to qualify AUTH too?
public Object getRowsByDateTimeRange(double tStart, double tEnd, String subsource) {
if (NullValueDb.isEmpty(subsource))
return getRowsEquals("WHERE DATETIME BETWEEN " + StringSQL.valueOf(tStart) +
" AND " + StringSQL.valueOf(tEnd));
else
return getRowsEquals("WHERE DATETIME BETWEEN " + StringSQL.valueOf(tStart) +
" AND " + StringSQL.valueOf(tEnd) + " AND SUBSOURCE = " + StringSQL.valueOf(subsource));
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the specified event id (evid).
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByEventId(long evid) {
return getRowsByEvent(keyColumn, assocTableOrigin, "ORID", evid);
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the specified origin id (orid).
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByOriginId(long orid) {
return getRowsByAssoc(keyColumn, assocTableOrigin, "ORID", orid);
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the preferred net magnitude id (prefmag) of the specified event id (evid).
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByPreferredMagId(long evid) {
if (assocTableNetmag == null) return null;
return getRowsByEventPrefId(keyColumn, assocTableNetmag, "MAGID", "PREFMAG", evid);
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the preferred net origin id (prefor) of the specified event id (evid).
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByPreferredOriginId(long evid) {
return getRowsByEventPrefId(keyColumn, assocTableOrigin, "ORID", "PREFOR", evid);
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the specified event id (evid) and station channel data inputs.
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByEventIdStnChl(long evid, DataStnChl sc) {
String whereString = "WHERE " + keyColumn +
" IN ( SELECT " + keyColumn + " FROM " + assocTableOrigin +
" WHERE ORID IN ( SELECT ORID FROM ORIGIN WHERE EVID = " + evid + " ) ) AND " + sc.toStringSQLWhereCondition();
return getRowsEquals(whereString);
}
/** Returns an array where each element contains the data from a single table row parsed from an SQL query
* for rows associated with the specified origin id (orid) and station channel data inputs.
* A return value of null indicates no data or an error condition.
*/
public Object getRowsByOriginIdStnChl(long orid, DataStnChl sc) {
String whereString = "WHERE " + keyColumn + " IN ( SELECT " + keyColumn +
" FROM " + assocTableOrigin + " WHERE ORID = " + orid + " ) AND " +
sc.toStringSQLWhereCondition();
return getRowsEquals(whereString);
}
/** Returns an array satisfying an SQL table query WHERE the specified (key) column is associated with the another column
* whose value match the specified input value in the named association table.
* "SELECT DISTINCT * FROM AMP WHERE AMPID IN (SELECT AMPID FROM ASSOCAMO WHERE ORID = 12345)"
* "SELECT DISTINCT * FROM CODA WHERE COID IN (SELECT COID FROM ASSOCCOM WHERE MAGID = 4321)"
* "SELECT DISTINCT * FROM ASSOCARO WHERE ARID IN (SELECT ARID FROM ARRIVAL WHERE SUBSOURCE = 'RT1'"
*
* The query table name is that initialized by the implementing class instance.
* Requires an active non-null JDBC database Connection reference.
* Method uses the JDBC Connection object assigned with setConnection().
* Returns null if no rows satisfy query or an error condition occurs.
*/
protected Object getRowsByAssoc(String assocColumnName, String assocTableName
, String assocValueColumnName, long iEqual) {
String whereString = "WHERE " + assocColumnName + " IN ( SELECT " + assocColumnName +
" FROM " + assocTableName + " WHERE " + assocValueColumnName + " = " + iEqual + " )";
return getRowsEquals(whereString);
}
/** Returns an array satisfying an SQL table query WHERE the specified key column is associated with a column
* in an associated table whose values correspond to ORIGIN ids associated with the specified input EVENT id (evid).
* "SELECT DISTINCT * FROM AMP WHERE AMPID IN (SELECT AMPID FROM ASSOCAMO WHERE ORID IN (SELECT ORID FROM ORIGIN WHERE EVID=123))".
*
* The query table name is that initialized by the implementing class instance.
* Requires an active non-null JDBC database Connection reference.
* Method uses the JDBC Connection object assigned with setConnection().
* Returns null if no rows satisfy query or an error condition occurs.
*/
protected Object getRowsByEvent(String keyColumnName, String assocTableName,
String assocTableKeyColumnName, long evid) {
String whereString = "WHERE " + keyColumnName +
" IN ( SELECT " + keyColumnName + " FROM " + assocTableName + " WHERE " + assocTableKeyColumnName +
" IN ( SELECT ORID FROM ORIGIN WHERE EVID = " + evid + " ) )";
return getRowsEquals(whereString);
}
/** Returns an array satisfying an SQL table query WHERE the specified key column is associated with a column
* in an associated table which has the value of the preferred id associated with the input EVENT id (evid) argument.
*
* "SELECT DISTINCT * FROM AMP WHERE AMPID IN (SELECT AMPID FROM ASSOCAMO WHERE WHERE ORID IN
* (SELECT PREFOR FROM EVENT WHERE EVID = 1234))".
*
* "SELECT DISTINCT * FROM AMP WHERE AMPID IN (SELECT AMPID FROM ASSOCAMM WHERE WHERE MAGID IN
* (SELECT PREFMAG FROM EVENT WHERE EVID = 1234))".
*
* The query table name is that initialized by the implementing class instance.
* Requires an active non-null JDBC database Connection reference.
* Method uses the JDBC Connection object assigned with setConnection().
* Returns null if no rows satisfy query or an error condition occurs.
*/
protected Object getRowsByEventPrefId(String keyColumnName, String assocTableName,
String assocTableKeyColumnName, String EventTablePrefIdColumnName, long evid) {
String whereString = "WHERE " + keyColumnName +
" IN ( SELECT " + keyColumnName + " FROM " + assocTableName + " WHERE " + assocTableKeyColumnName +
" IN ( SELECT " + EventTablePrefIdColumnName + " FROM EVENT WHERE EVID = " + evid + " ) )";
return getRowsEquals(whereString);
}
// Database modification methods
/*
* Deletes rows from the database table defined by getTableName() associated with the specified event id (evid).
* Returns number of rows deleted for specified id. A return value of -1 indicates an error condition.
public int deleteRowsByEvent(long evid) {
return ExecuteSQL.deleteRowsByEvent(connDB, getTableName(), keyColumn, assocTableOrigin, "ORID", evid);
}
* Deletes rows associated with the specified origin id (orid).
* Returns number of rows deleted for specified id. A return value of -1 indicates an error condition.
public int deleteRowsByOrigin(long orid) {
return ExecuteSQL.deleteRowsByAssoc(connDB, getTableName(), keyColumn, assocTableOrigin, "ORID", orid);
}
* Deletes rows associated with the specified event id (evid) and station channel data input arguments.
* Returns number of rows deleted for specified input. A return value of -1 indicates an error condition.
* @see DataStnChl
public int deleteRowsByEventStnChl(long evid, DataStnChl sc) {
return ExecuteSQL.deleteRowsByEventStnChl(connDB, getTableName(), keyColumn, assocTableOrigin, "ORID", evid, sc);
}
* Deletes rows associated with the specified origin id (orid) and station channel data input arguments.
* Returns number of rows deleted for specified input. A return value of -1 indicates an error condition.
* @see DataStnChl
public int deleteRowsByOriginIdStnChl(long orid, DataStnChl sc) {
return ExecuteSQL.deleteRowsByAssocStnChl(connDB, getTableName(), keyColumn, assocTableOrigin, "ORID", orid, sc);
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -