Deletion from database gives KErrArgument error

Login to reply to this topic.
Wed, 2008-05-28 10:33
Joined: 2006-05-08
Forum posts: 79

hi all,
I am deleting rows but it gives the error

TInt CmClientDataBase::DeleteSelectedContact( TInt& aSelectedIndex )

{

TInt error = KErrNone;

// Open the file store
CFileStore* store = CFileStore::OpenLC(iFsSession,iName.FullName(),EFileRead);

// open the database from the root stream
RDbStoreDatabase database;
database.OpenL(store,store->Root());

TBuf<256> SqlStatement;
SqlStatement.Copy(_L("DELETE FROM "));
SqlStatement.Append(KBlockNumberTable);
SqlStatement.Append(_L(" WHERE "));
SqlStatement.Append(KRowIdColl);
SqlStatement.Append(_L(" = "));
SqlStatement.AppendNum(aSelectedIndex);
//SqlStatement.Append(_L("));

error = database.Execute(SqlStatement);
database.Compact();

database.CompressL(*store,store->Root()); //CStreamStore
database.Commit();

// close the database
database.Close();

// Do not commit store: database has taken control of commit
CleanupStack::PopAndDestroy();

return error;

}

can anybudy tell me how i can comress the data base after deletion....

please help me ........


Wed, 2008-05-28 13:41
Joined: 2008-03-12
Forum posts: 30
Re: Deletion from database gives KErrArgument error

If it gives KErrArgument I would print out the SqlStatement before its executing maybe its syntax is wrong?
It includes KBlockNumberTable and KRowIdColl defined elsewhere maybe these are wrong?

  • Login to reply to this topic.