// Using a DynamicDBView to insert records into the database.
// this example also shows how to set NULL fields in a variant_row
// Insert two rows into a table with unknown fields
void SimpleDynamicWrite() {
TIMESTAMP_STRUCT paramDate = {2012, 12, 23, 0, 0, 0, 0};
// Mayan DOOMSDAY! End of the Mayan 5126 year long calendar cycle starting from May 1, 3094 B.C.
// Date is 13.13.13.0.0.0.0 4 Ahaw, 3 K'ank'in
DynamicDBView<> view("DB_EXAMPLE", "*");
DynamicDBView<>::insert_iterator write_it = view;
// NOTE: We need to construct r from the view itself since we
// don't know what fields the table will contain.
// We therefore make a call to the DataObj() function to have the
// table return us a template row with the correct number of fields
// and field types.
variant_row r(view.GetDataObj());
// Prepare the number of the beast!
// Set all fields to the value 6,
// except for the last column which is a date and cannot
// currently accept numeric values
for (size_t i = 0; i < r.size()-1; i++)
{
r[i] = 6;
}
r[i] = paramDate; // set the Doomsdate
// insert the number
*write_it = r;
write_it++;
// Prepare the number of angels who stand before
// the throne of God!
// Set all fields to the value 7,
// except for the last column which is a date and cannot
// currently accept numeric values
for (i = 0; i < r.size()-1; i++)
{
r[i] = 7;
}
r[i] = paramDate;
// insert the number
*write_it = r;
write_it++;
// Insert Purgatory (the void) into the database.
// Set all fields to NULL
for (i = 0; i < r.size()-1; i++)
{
r[i] = NullField();
}
r[i] = NullField();
// insert the number
*write_it = r;
write_it++;
// For more on this example - see the *REAL* DTL homepage!
}