The hk_classes programmer's tutorial
Prev |  | Next

# Chapter 6. Add a row

Adding a new row is very simple. Start the definition of the new dataset with the command hk_datasource::setmode_insertrow() and end it with the already well known method mydatasource->store_changed_data();. Between these two methods set the values for each column with the method hk_column::set_asstring(const string&). You have to create hk_column objects for every column (=field) you want to add data.

Example 6-1. Add a row

       1 #include <hk_classes.h>
       2 #include <iostream>
       3 int main()
       4 {
       5    hk_drivermanager* mydrivermanager = new hk_drivermanager();
       6    if (mydrivermanager==NULL) {cout <<"error creating mydrivermanager"<<endl;exit(1);}
       7    hk_connection* myconnection = mydrivermanager->new_connection("mysql");
       8    if (myconnection==NULL) {cout <<"error creating myconnection"<<endl;exit(1);}
       9    myconnection->set_host("localhost");
      10    myconnection->set_user("root");
      11    myconnection->set_password("mypasswd");
      12    myconnection->connect();
      13
      14    hk_database* mydatabase=myconnection->new_database("exampledb");
      15    if (mydatabase==NULL) {cout <<"error creating mydatabase"<<endl;exit(1);}
      16    hk_datasource* mydatasource= mydatabase->new_table("authors");
      17    if (mydatasource==NULL) {cout <<"error creating mydatasource"<<endl;exit(1);}
      18    mydatasource->enable();
      19
      20    hk_column* mycolumn = mydatasource->column_by_name("name");
      21    if (mycolumn==NULL) {cout <<"error getting column"<<endl;exit(1);}
      22    mydatasource->setmode_insertrow();
      23    mycolumn->set_asstring("Fontane, Theodor");
      24    mydatasource->store_changed_data();
      25
      26    delete mydrivermanager;
      27 }

Prev | Home | Next
Alter data of a column |  | Delete a row