<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >Add a row</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="The hk_classes programmer's tutorial" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Alter data of a column" HREF="chapter5.html"><LINK REL="NEXT" TITLE="Delete a row" HREF="chapter7.html"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="stylesheet" HREF="common/kde-common.css" TYPE="text/css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META HTTP-EQUIV="Content-Language" CONTENT="en"><LINK REL="stylesheet" HREF="common/kde-localised.css" TYPE="text/css" TITLE="KDE-English"><LINK REL="stylesheet" HREF="common/kde-default.css" TYPE="text/css" TITLE="KDE-Default"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#AA0000" VLINK="#AA0055" ALINK="#AA0000" STYLE="font-family: sans-serif;" ><DIV CLASS="logoheader" ><A HREF="http://www.kde.org/" ></A ></DIV ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >The hk_classes programmer's tutorial</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="chapter5.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="chapter7.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="CHAPTER6" ></A >Chapter 6. Add a row</H1 ><P >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.</P ><P ><DIV CLASS="EXAMPLE" ><HR><A NAME="AEN101" ></A ><P ><B >Example 6-1. Add a row</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" > 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 <FONT COLOR="RED" >mydatasource->setmode_insertrow();</FONT > 23 <FONT COLOR="RED" >mycolumn->set_asstring("Fontane, Theodor");</FONT > 24 <FONT COLOR="RED" >mydatasource->store_changed_data();</FONT > 25 26 delete mydrivermanager; 27 }</PRE ></TD ></TR ></TABLE ><HR></DIV ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="chapter5.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="chapter7.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Alter data of a column</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Delete a row</TD ></TR ></TABLE ></DIV ></BODY ></HTML >