Patch level : 12.00 1268

Files correlati     : lv0.exe lv2.exe
Commento            :
Invio postino con ODBC
This commit is contained in:
Alessandro Bonazzi 2023-06-14 15:14:57 +02:00
parent 9b776ca03a
commit 078154b7a1

View File

@ -706,16 +706,31 @@ HIDDEN void odbc_send(const TString & dsn, int num, TAuto_token_string & elab_fi
TToken_string row(make_val(fld, t, str), '=');
keys.add(row);
}
const TString & statement = build_statement(op, curr_file_num, name, keys, values);
TString statement;
if (op < db_remove)
{
statement << "SELECT * FROM [" << name << "] WHERE ";
FOR_EACH_ARRAY_ROW(keys, rk, rowk)
{
if (rk > 0)
statement << " AND";
statement << ' ' << *rowk;
}
statement << ";";
int err = recset.exec(statement);
if (err == 0 && op == db_update)
op = db_add;
else
if (err > 0 && op == db_add)
op = db_update;
}
statement = build_statement(op, curr_file_num, name, keys, values);
int err = recset.exec(statement);
if (op < db_remove && err <= 0)
{
const TString & statement = build_statement(op == db_add ? db_update : db_add, curr_file_num, name, keys, values);
err = recset.exec(statement);
}
if (err <= 0)
if (err < 0)
error_box(FR("Errore n. %d invio file %d"), -err, curr_file_num);
else
recset.exec("COMMIT;");