Fix crash when trying to save row data when row is not yet valid
This commit is contained in:
parent
e891ec9d54
commit
dc949f3c34
1 changed files with 18 additions and 13 deletions
|
|
@ -435,21 +435,26 @@ std::tuple<bool, CrudModel::ModifiedRow> CrudModel::updateRow(const PendingRow &
|
||||||
Pgsql::Connection db_update_conn;
|
Pgsql::Connection db_update_conn;
|
||||||
auto dbconfig = m_database->config();
|
auto dbconfig = m_database->config();
|
||||||
db_update_conn.connect(dbconfig.connectionString().toStdString().c_str());
|
db_update_conn.connect(dbconfig.connectionString().toStdString().c_str());
|
||||||
auto result = db_update_conn.queryParam(buffer, params);
|
try {
|
||||||
if (result && result.rows() == 1) {
|
auto result = db_update_conn.queryParam(buffer, params);
|
||||||
|
if (result && result.rows() == 1) {
|
||||||
|
|
||||||
std::vector<Value> values;
|
std::vector<Value> values;
|
||||||
auto row = *result.begin();
|
auto row = *result.begin();
|
||||||
for (auto v : row) {
|
for (auto v : row) {
|
||||||
if (v.null())
|
if (v.null())
|
||||||
values.push_back(Value());
|
values.push_back(Value());
|
||||||
else
|
else
|
||||||
values.push_back(std::string(v.c_str()));
|
values.push_back(std::string(v.c_str()));
|
||||||
|
}
|
||||||
|
|
||||||
|
ModifiedRow modified_row(row_number, values);
|
||||||
|
|
||||||
|
return { true, modified_row };
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ModifiedRow modified_row(row_number, values);
|
catch (const Pgsql::PgResultError &ex) {
|
||||||
|
//Mes
|
||||||
return { true, modified_row };
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return { false, {} };
|
return { false, {} };
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue