// Delete objects from the database via a delete_iterator
// using a dynamic view

// Delete rows matching the specified Example objects from the database
// using a dynamic view
void DeleteDynamicData()
{
	// construct view
	DynamicDBView<> view("DB_EXAMPLE", "STRING_VALUE, EXAMPLE_DATE");

	// build a deleter for the view

	// *** SQL Query Generated for this delete_iterator:" ***
 	// "DELETE FROM DB_EXAMPLE WHERE EXAMPLE_DATE = (?) AND STRING_VALUE = (?) "

	DynamicDBView<>::delete_iterator exampleDeleter = view;

	variant_row deleteMe(view.GetDataObj());

	// now set the row indicating which rows we want to delete
	deleteMe["STRING_VALUE"] = string("Example");

	TIMESTAMP_STRUCT y2k = {2000, 1, 1, 0, 0, 0, 0};
	deleteMe["EXAMPLE_DATE"] = y2k;

	// execute the delete
    *exampleDeleter = deleteMe;
	exampleDeleter++;

	cout << exampleDeleter.GetLastCount() << " rows deleted!" << endl;

	// now can perform other deletes using the same deleter object

	// now set the row indicating which rows we want to delete

	TIMESTAMP_STRUCT today = {1999, 9, 29, 0, 0, 0, 0};
	deleteMe["STRING_VALUE"] = string("operator->() works");
	deleteMe["EXAMPLE_DATE"] = today;
	
	// execute the delete
	*exampleDeleter = deleteMe;
	exampleDeleter++;

	cout << exampleDeleter.GetLastCount() << " rows deleted!" << endl;
}