Also not a great task. Goto the row you wish to delete and call hk_datasource::delete_actualrow()
Example 7.1. Delete a row
#define HAVE_SSTREAM 1 #include <hk_classes.h> #include <iostream> int main() { hk_drivermanager* mydrivermanager = new hk_drivermanager(); if (mydrivermanager==NULL) {cout <<"error creating mydrivermanager"<<endl;exit(1);} hk_connection* myconnection = mydrivermanager->new_connection("mysql"); if (myconnection==NULL) {cout <<"error creating myconnection"<<endl;exit(1);} myconnection->set_host("localhost"); myconnection->set_user("root"); myconnection->set_password("mypasswd"); myconnection->connect(); hk_database* mydatabase=myconnection->new_database("exampledb"); if (mydatabase==NULL) {cout <<"error creating mydatabase"<<endl;exit(1);} hk_datasource* mydatasource= mydatabase->new_table("authors"); if (mydatasource==NULL) {cout <<"error creating mydatasource"<<endl;exit(1);} mydatasource->enable(); hk_column* mycolumn = mydatasource->column_by_name("name"); if (mycolumn==NULL) {cout <<"error getting column"<<endl;exit(1);} mydatasource->goto_row(3); mydatasource->delete_actualrow(); delete mydrivermanager; }
When you try this out you will be asked if you really want to delete the data. If this question is disturbing you switch it off. Use the function hk_class::set_showpedantic(false); for this.