![](/img/trans.png)
[英]Any alternatives to the componentResized method in ComponentAdapter
[英]Any alternatives to JDBC setArray() method?
我正在使用此代碼,但是我的JDBC驅動程序不支持setArray()
方法。 還有其他方法嗎?
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL,USER,PSW);
String[] serviceIdarray = new String[serviceIdList.size()];
for(int i=0;i<serviceIdList.size();i++){
serviceIdarray[i]=serviceIdList.get(i);
}
Array serviceId =conn.createArrayOf("VARCHAR",serviceIdarray );
if(UsmConstants.CURRENT_RUN_VALUE.equalsIgnoreCase(runType)){
if(userRole!=null && UsmConstants.ADMIN_UPPERCASE.equalsIgnoreCase(userRole)){
if(businessID.equalsIgnoreCase("IT")){
queryString = "SELECT DISTINCT avc.AV_CMPLNC_TRXN_ID as avCompId, decode(avc.AV_COMPLIANCE_FLG,'Y','Yes','N','No') as avComplianceFlag, decode(avc.AV_INSTALLED_FLG,'Y','Yes','N','No') as avInstalledFlag, avc.SCAN_DATE as scanDate, avc.RESOLVED_DATE as resolvedDate, decode(avc.OTC_STATUS,'OOT','Open On Time','CLT','Close Late','OLT','Open Late','COT','Close On Time') as otcStatus, AVC.FIRST_DETECTED_DATE as reportedDate,avc.COMMENTS as comments, sm.SERVICE_NAME as serviceName, hm.HOST_NAME as hostName, hm.HOST_IP_ADDRESS as hostIPAddress " +
"from T_USM_SERVICE_OFFERING_MASTER som,T_USM_APPL_SRVC_OFFRNG_MAP asom,T_USM_HOST_APPL_MAP ham,T_USM_HOST_MASTER hm,T_USM_AV_COMPLIANCE_TRXN avc,T_USM_SERVICE_MASTER sm " +
"where avc.host_id = hm.host_id " +
"AND avc.host_id = ham.host_id " +
"AND HAM.APPLICATION_ID = ASOM.APPLICATION_ID " +
"AND ASOM.SERVICE_OFFERING_ID = SOM.SERVICE_OFFERING_ID " +
"AND ASOM.END_DATE IS NULL " +
"AND HAM.END_DATE IS NULL " +
"AND som.service_id = sm.service_id " +
"AND " +itCase+
"AND sm.service_id IN(?) " +
"AND trunc(avc.SCAN_DATE) = to_date(?) " +
"AND sm.STATUS = 'O' AND sm.RETIRED_DATE IS NULL " +
"AND som.STATUS = 'O' AND som.RETIRED_DATE IS NULL " +
"AND hm.RETIRED_DATE IS NULL " +
"order by sm.SERVICE_NAME";
stmt = (OraclePreparedStatement)conn.prepareStatement(queryString);
if(serviceId != null){
stmt.setArray(1, serviceId);
}
stmt.setString(1, null);
stmt.setString(2, calendarDate);
rs = stmt.executeQuery();
僅適用於oracle db。 在DB中創建類型。 create type l_varchar2 is table of varchar2(100);
嘗試一下
public class Array {
public static void main(String[] args) throws SQLException, Exception {
Connection conn = ConnectionDefinition.getOracleConnection();
conn.getTypeMap().put("L_VARCHAR2", String[].class);
PreparedStatement createStatement = conn.prepareCall("select * from table(?)");
createStatement.setArray(1, ((OracleConnection) conn).createARRAY("L_VARCHAR2", new Object[]{"AA","BB","CC"}));
ResultSet rs = createStatement.executeQuery();
while (rs.next()) {
System.err.println(rs.getString(1));
}
conn.close();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.