TInt CCommDbTest036_06::executeStepL() { CCommsDbTemplateRecord* templateRecord = CCommsDbTemplateRecord::NewL(iTheDb, TPtrC(DIAL_IN_ISP)); CleanupStack::PushL(templateRecord); User::LeaveIfError(templateRecord->Modify()); TBufC<KCommsDbSvrMaxFieldLength> inputString = _L("test string"); templateRecord->WriteTextL(TPtrC(COMMDB_NAME), _L("Name")); // templateRecord->WriteTextL(TPtrC(ISP_IF_NAME), _L("SLIP")); templateRecord->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER), ETrue); templateRecord->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER), ETrue); templateRecord->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER), ETrue); templateRecord->WriteLongTextL(TPtrC(ISP_LOGIN_SCRIPT), inputString); User::LeaveIfError(templateRecord->StoreModifications()); CleanupStack::PopAndDestroy(templateRecord); //Create a view on the DialInISP table, make a new record and change the value we set int he template CCommsDbTableView* tableView = iTheDb->OpenTableLC(TPtrC(DIAL_IN_ISP)); TUint32 dummyId; //Create a new record, so we can be sure it is the same as the templated one User::LeaveIfError(tableView->InsertRecord(dummyId)); tableView->WriteTextL(TPtrC(COMMDB_NAME), _L("Test ISP")); // tableView->WriteTextL(TPtrC(ISP_IF_NAME), _L("Test If")); tableView->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER), EFalse); tableView->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER), EFalse); tableView->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER), EFalse); //Overwrite value set above in template TBufC<KCommsDbSvrMaxFieldLength> overwriteString = _L("new string"); tableView->WriteLongTextL(TPtrC(ISP_LOGIN_SCRIPT), overwriteString); User::LeaveIfError(tableView->PutRecordChanges()); //Retrieve the string we just set HBufC* retrievedString = tableView->ReadLongTextLC(TPtrC(ISP_LOGIN_SCRIPT)); TInt ret(KErrNone); if(*retrievedString!=overwriteString) ret= KErrGeneral; CleanupStack::PopAndDestroy(); //retrievedString CleanupStack::PopAndDestroy(tableView); return ret; }