- 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();
}
}
wissenstein 14.02.2013 23:50 # +1
как минимум,
и уже на шесть строк меньше…
bormand 15.02.2013 05:47 # +4
* Для обработки гигабайтных CSV файлов.
askell 15.02.2013 07:47 # +4
У меня когда увидел три запроса, слепленных через ";", чуть глаз не выпал.
absolut 15.02.2013 09:35 # +2
который?
askell 15.02.2013 10:33 # +4
absolut 15.02.2013 14:02 # +6
scriptin 15.02.2013 19:00 # +1
Выпал же, одна дырка осталась!
Lure Of Chaos 17.02.2013 17:24 # +1
someone 16.02.2013 12:00 # 0
Ехал парти через парти...
eth0 17.02.2013 11:10 # +2
Lure Of Chaos 17.02.2013 17:25 # +1