- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
private static final int IDX_OBJECT = 0;
private static final String PARTY_ACCOUNT_BALANCE_QUERIES = "Select party.id from Party party WHERE party.TaxID='615100175';Select account.id from PaymentAccount account, Party party WHERE party.TaxID='615100175';Select balance.id from PaymentBalance balance WHERE balance.BalanceType='10000';";
private static final int queryAmount = 3;
public void createPaymentAccountUpdate() {
String[] QUERY = new String[queryAmount];
int startIndex = 0, endIndex=0;
IRecordset [] rs=null;
for (int i = 0; i < queryAmount; i++) {
endIndex = PARTY_ACCOUNT_BALANCE_QUERIES.indexOf(';', startIndex);
QUERY[i] = PARTY_ACCOUNT_BALANCE_QUERIES.substring(startIndex, endIndex);
startIndex = endIndex + 1;
}
for (int i = 0; i < queryAmount; i++) {
rs[i] = s_mgr.newQuery().execute(QUERY[i].toString());
}
if (rs[0].moveNext()) {
IParty party = (IParty)rs[0].valueFromIndex(IDX_OBJECT);
if (rs[1].moveNext()) {
IPaymentAccount pa = (IPaymentAccount) rs[1].valueFromIndex(IDX_OBJECT);
pa.setParty(party);
}
if (rs[2].moveNext()) {
IPaymentBalance pb = (IPaymentBalance) rs[2].valueFromIndex(IDX_OBJECT);
pa.setBalance(pb);
}
pa.setComment("Test account update created");
pa.Save();
}
}
как минимум,
и уже на шесть строк меньше…
* Для обработки гигабайтных CSV файлов.
У меня когда увидел три запроса, слепленных через ";", чуть глаз не выпал.
который?
Выпал же, одна дырка осталась!
Ехал парти через парти...