Now we try to show data of a specific column. For this we get a hk_column object. hk_column represents a specific column of a datasource. To display the data of the actual row use the command mycolumn->asstring(). The hk_datasource::column_by_name method allows you to select a column by it's name.
When you enable a datasource the row selector is in row 0 (the first row). To move the row selector use one of the hk_datasource methods:
bool goto_row (unsigned long r)
bool goto_first (void)
bool goto_last (void)
bool goto_next (void)
bool goto_previous (void)
Example 4-1. Show data of a column
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 cout <<"Value of the first row: "<<mycolumn->asstring()<<endl; 23 mydatasource->goto_next(); 24 cout <<"Value of the second row: "<<mycolumn->asstring()<<endl; 25 26 delete mydrivermanager; 27 } |