added:
removing objects saving objects (either insert or update or remove) git-svn-id: svn://ttmath.org/publicrep/morm/trunk@1091 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -112,11 +112,26 @@ bool DbConnector::query_insert(const PT::TextStream & stream)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DbConnector::query_remove(const PT::TextStream & stream)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t DbConnector::last_select_size()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::wstring DbConnector::get_last_query_error_msg()
|
||||
{
|
||||
return std::wstring();
|
||||
}
|
||||
|
||||
bool DbConnector::was_error_in_last_query()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void DbConnector::set_current_row_at_beginning()
|
||||
{
|
||||
@@ -159,12 +174,12 @@ void DbConnector::generate_insert_query(PT::TextStream & stream, Model & model)
|
||||
|
||||
if( db_expression )
|
||||
{
|
||||
db_expression->set_output_type(MORM_OUTPUT_TYPE_DB_UPDATE);
|
||||
|
||||
stream << "insert into ";
|
||||
model.table_name(stream);
|
||||
|
||||
stream << " (";
|
||||
db_expression->set_work_mode(MORM_WORK_MODE_MODEL_FIELDS);
|
||||
db_expression->set_output_type(MORM_OUTPUT_TYPE_DB_UPDATE);
|
||||
db_expression->generate_from_model(stream, model);
|
||||
|
||||
stream << ") values (";
|
||||
@@ -181,13 +196,12 @@ void DbConnector::generate_update_query(PT::TextStream & stream, Model & model)
|
||||
|
||||
if( db_expression )
|
||||
{
|
||||
db_expression->set_output_type(MORM_OUTPUT_TYPE_DB_UPDATE);
|
||||
|
||||
stream << "update ";
|
||||
model.table_name(stream);
|
||||
stream << " set ";
|
||||
|
||||
stream << " set ";
|
||||
db_expression->set_work_mode(MORM_WORK_MODE_MODEL_FIELDS_VALUES);
|
||||
db_expression->set_output_type(MORM_OUTPUT_TYPE_DB_UPDATE);
|
||||
db_expression->generate_from_model(stream, model);
|
||||
|
||||
stream << " where ";
|
||||
@@ -198,6 +212,20 @@ void DbConnector::generate_update_query(PT::TextStream & stream, Model & model)
|
||||
}
|
||||
|
||||
|
||||
void DbConnector::generate_remove_query(PT::TextStream & stream, Model & model)
|
||||
{
|
||||
allocate_default_expression_if_needed();
|
||||
|
||||
if( db_expression )
|
||||
{
|
||||
stream << "delete from ";
|
||||
model.table_name(stream);
|
||||
stream << " where ";
|
||||
db_expression->set_work_mode(MORM_WORK_MODE_MODEL_FIELDS_VALUES);
|
||||
db_expression->set_output_type(MORM_OUTPUT_TYPE_DB_PRIMARY_KEY);
|
||||
db_expression->generate_from_model(stream, model);
|
||||
}
|
||||
}
|
||||
|
||||
bool DbConnector::insert(PT::TextStream & stream, Model & model)
|
||||
{
|
||||
@@ -213,6 +241,13 @@ bool DbConnector::update(PT::TextStream & stream, Model & model)
|
||||
}
|
||||
|
||||
|
||||
bool DbConnector::remove(PT::TextStream & stream, Model & model)
|
||||
{
|
||||
generate_remove_query(stream, model);
|
||||
return query_remove(stream);
|
||||
}
|
||||
|
||||
|
||||
void DbConnector::deallocate_expression()
|
||||
{
|
||||
if( expression_allocated )
|
||||
|
Reference in New Issue
Block a user