|
Использование хранимых процедур в ADF
#33293971
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
|
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
CallableStatement callStmt = null ;
try
{
callStmt = conn.prepareCall(getParameterSQL);
logger.debug("Binding params...");
callStmt.setLong( 2 , orderId.longValue());
callStmt.registerOutParameter( 1 , Types.INTEGER); //pRpId
callStmt.registerOutParameter( 3 , Types.INTEGER); //pContractID
callStmt.registerOutParameter( 4 , Types.VARCHAR); //pContractLegalStatus
callStmt.registerOutParameter( 5 , Types.VARCHAR); //pCustomerName
callStmt.registerOutParameter( 6 , Types.VARCHAR); //pCustomerContact
callStmt.registerOutParameter( 7 , Types.VARCHAR); //pCustomerEmail
callStmt.registerOutParameter( 8 , Types.VARCHAR); //pCustomerLogname
callStmt.registerOutParameter( 9 , Types.TIMESTAMP); //pOrderDate
callStmt.registerOutParameter( 10 , Types. DOUBLE , 4 ); //pOrderReservedAmount
callStmt.registerOutParameter( 11 , Types.VARCHAR); //pOrderPhone
callStmt.registerOutParameter( 12 , Types.VARCHAR); //pOrderPhoneOwner
callStmt.registerOutParameter( 13 , Types.VARCHAR); //pOrderCity
callStmt.registerOutParameter( 14 , Types.VARCHAR); //pOrderStreet
callStmt.registerOutParameter( 15 , Types.VARCHAR); //pOrderHouse
callStmt.registerOutParameter( 16 , Types.VARCHAR); //pOrderBuilding
callStmt.registerOutParameter( 17 , Types.VARCHAR); //pOrderFrame
callStmt.registerOutParameter( 18 , Types.VARCHAR); //pOrderAppartment
callStmt.registerOutParameter( 19 , Types.VARCHAR); //pTSModemInterface
callStmt.registerOutParameter( 20 , Types.VARCHAR); //pTSOS
callStmt.registerOutParameter( 21 , Types.VARCHAR); //pTSModemType
callStmt.registerOutParameter( 22 , Types.VARCHAR); //pTSTVINType
callStmt.registerOutParameter( 23 , Types.VARCHAR); //pTSDistanceToTV
callStmt.registerOutParameter( 24 , Types.TIMESTAMP); //pTSInstallationTimeFrom
callStmt.registerOutParameter( 25 , Types.TIMESTAMP); //pTSInstallationTimeTo
logger.debug("Executing...");
callStmt.executeUpdate();
logger.debug("Getting result...");
result = callStmt.getInt( 1 );
if (result == 0 )
{
// OK
logger.debug("OK got parameters.");
contractId = new Long (callStmt.getLong( 3 ));
customerLegalStatus = callStmt.getString( 4 );
customerName = callStmt.getString( 5 );
customerContact = callStmt.getString( 6 );
customerEMail = callStmt.getString( 7 );
customerLogname = callStmt.getString( 8 );
orderDate = new Date(callStmt.getTimestamp( 9 ).getTime());
orderReservedAmount = new Float (callStmt.getFloat( 10 ));
orderPhone = callStmt.getString( 11 );
orderPhoneOwner = callStmt.getString( 12 );
orderCity = callStmt.getString( 13 );
orderStreet = callStmt.getString( 14 );
orderHouse = callStmt.getString( 15 );
orderBuilding = callStmt.getString( 16 );
orderFrame = callStmt.getString( 17 );
orderAppartment = callStmt.getString( 18 );
TSModemInterface = callStmt.getString( 19 );
TSOS = callStmt.getString( 20 );
TSModemType = callStmt.getString( 21 );
TSTVInterfaceType = callStmt.getString( 22 );
TSDistanceToTV = callStmt.getString( 23 );
TSInstallationTimeFrom = new Date(callStmt.getTimestamp( 24 ).getTime());
TSInstallationTimeTo = new Date(callStmt.getTimestamp( 25 ).getTime());
}
else
{
// error
logger.error("Error when getting order parameters. OrderID: " + orderId + " PL/SQL Result: " + result);
throw new Exception("Can not get order parameters.");
}
}
finally
{
if (callStmt != null ) callStmt.close();
}
|
|
|