This tutorial describes how to insert a row into a table.
You can insert a single row or several rows in a table. To insert several rows the SQL statement needs to be called in a loop until the condition is satisfied.
An INSERT query adds data to the database. The example shown here inserts a new record into the countries database.
Configure the SQL statement
Declare the necessary literals as shown and instantiate an object of the RSqlStatement class.
_LIT(kQueryString,"INSERT INTO countries (name, population) VALUES (:value1, :value2);"); _LIT(kValue1,":value1); _LIT(kValue2,":value2"); _LIT(kItaly,"Italy"); RSqlStatement myStatement;
Prepare the SQL statement for execution.
TInt err; err = myStatement.Prepare(countriesDatabase,kQueryString); // prepare
Get the index of each of the parameters with the given name and bind it with the text and integer value respectively.
TInt index1 = myStatement.ParameterIndex(kValue1); // index TInt index2 = myStatement.ParameterIndex(kValue2); err = myStatement.BindText(index1,kItaly); err = myStatement.BindInt(index2,59); // bind
Execute the statement
Execute the SQL statement to insert a record.
err = myStatement.Exec();// execute
Close the SQL statement.
err = myStatement.Close();// close
Note
To add several rows to a data table you need to call an INSERT statement within a loop. The following example inserts rows containing numbers 1 to 10 into the countries database. Steps 1 and 2 of the above list remain the same. The remaining steps are as shown below:
Get the index of the parameter.
TInt index1 = myStatement.ParameterIndex(kValue1); // index
Iterate the loop 10 times by binding the integer value of the variable i with the parameter. Then execute the INSERT statement to insert a new record into the table. Finally, call the Reset() function to reset the SQL statement and make it ready for the next execution.
for(TInt i=1;i<=10;i++) { err = myStatement.BindInt(index1,i); err = myStatement.Exec(); // execute err = myStatement.Reset() }
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.