update article in db
This commit is contained in:
parent
3be2418102
commit
ba86af4064
1 changed files with 46 additions and 4 deletions
|
@ -166,7 +166,8 @@ unsigned int Database::storeSellers(std::vector<std::shared_ptr<Seller>>& seller
|
||||||
throw std::runtime_error(sqlite3_errmsg(db_));
|
throw std::runtime_error(sqlite3_errmsg(db_));
|
||||||
|
|
||||||
int test = sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
int test = sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
||||||
boost::uuids::to_string(seller->getUuid()).c_str(), -1, SQLITE_TRANSIENT);
|
boost::uuids::to_string(seller->getUuid()).c_str(), -1,
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
std::cout << "!!! TEST: " << test << "\n";
|
std::cout << "!!! TEST: " << test << "\n";
|
||||||
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"),
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"),
|
||||||
seller->getSellerNo());
|
seller->getSellerNo());
|
||||||
|
@ -202,7 +203,8 @@ unsigned int Database::storeSellers(std::vector<std::shared_ptr<Seller>>& seller
|
||||||
throw std::runtime_error(sqlite3_errmsg(db_));
|
throw std::runtime_error(sqlite3_errmsg(db_));
|
||||||
|
|
||||||
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
||||||
boost::uuids::to_string(seller->getUuid()).c_str(), -1, SQLITE_TRANSIENT);
|
boost::uuids::to_string(seller->getUuid()).c_str(), -1,
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"),
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"),
|
||||||
seller->getSellerNo());
|
seller->getSellerNo());
|
||||||
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":first_name"),
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":first_name"),
|
||||||
|
@ -255,7 +257,8 @@ unsigned int Database::storeArticles(sqlite3_stmt* stmt, std::vector<Article*> a
|
||||||
throw std::runtime_error(sqlite3_errmsg(db_));
|
throw std::runtime_error(sqlite3_errmsg(db_));
|
||||||
|
|
||||||
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
||||||
boost::uuids::to_string(article->getUuid()).c_str(), -1, SQLITE_TRANSIENT);
|
boost::uuids::to_string(article->getUuid()).c_str(), -1,
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"),
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"),
|
||||||
boost::uuids::to_string(article->getSeller()->getUuid()).c_str(), -1,
|
boost::uuids::to_string(article->getSeller()->getUuid()).c_str(), -1,
|
||||||
SQLITE_TRANSIENT);
|
SQLITE_TRANSIENT);
|
||||||
|
@ -263,7 +266,7 @@ unsigned int Database::storeArticles(sqlite3_stmt* stmt, std::vector<Article*> a
|
||||||
article->getSourceNo());
|
article->getSourceNo());
|
||||||
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":article_no"),
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":article_no"),
|
||||||
article->getArticleNo());
|
article->getArticleNo());
|
||||||
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":desctiption"),
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":desc"),
|
||||||
article->getDescription().c_str(), -1, SQLITE_TRANSIENT);
|
article->getDescription().c_str(), -1, SQLITE_TRANSIENT);
|
||||||
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":price"),
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":price"),
|
||||||
article->getPrice());
|
article->getPrice());
|
||||||
|
@ -280,6 +283,45 @@ unsigned int Database::storeArticles(sqlite3_stmt* stmt, std::vector<Article*> a
|
||||||
++count;
|
++count;
|
||||||
sqlite3_finalize(stmt);
|
sqlite3_finalize(stmt);
|
||||||
} else if (article->getState() == Article::State::UPDATE) {
|
} else if (article->getState() == Article::State::UPDATE) {
|
||||||
|
retCode = sqlite3_prepare_v2(
|
||||||
|
db_,
|
||||||
|
"UPDATE articles SET"
|
||||||
|
" seller_id = seller_id, source_no = :source_no, article_no = :article_no,"
|
||||||
|
" description = :desc, price = :price"
|
||||||
|
" WHERE id = :uuid",
|
||||||
|
-1, &stmt, nullptr);
|
||||||
|
|
||||||
|
if (retCode != SQLITE_OK)
|
||||||
|
throw std::runtime_error(sqlite3_errmsg(db_));
|
||||||
|
|
||||||
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"),
|
||||||
|
boost::uuids::to_string(article->getUuid()).c_str(), -1,
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"),
|
||||||
|
boost::uuids::to_string(article->getSeller()->getUuid()).c_str(), -1,
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":source_no"),
|
||||||
|
article->getSourceNo());
|
||||||
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":article_no"),
|
||||||
|
article->getArticleNo());
|
||||||
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":desc"),
|
||||||
|
article->getDescription().c_str(), -1, SQLITE_TRANSIENT);
|
||||||
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":price"),
|
||||||
|
article->getPrice());
|
||||||
|
|
||||||
|
retCode = sqlite3_step(stmt);
|
||||||
|
|
||||||
|
if (retCode != SQLITE_DONE) {
|
||||||
|
|
||||||
|
std::string errMsg(sqlite3_errmsg(db_));
|
||||||
|
sqlite3_finalize(stmt);
|
||||||
|
throw std::runtime_error(errMsg);
|
||||||
|
}
|
||||||
|
article->setState(Seller::State::OK);
|
||||||
|
++count;
|
||||||
|
sqlite3_finalize(stmt);
|
||||||
|
} else if (article->getState() == Article::State::DELETE) {
|
||||||
|
// TODO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue