762 |
762 |
763 return ret; |
763 return ret; |
764 } |
764 } |
765 |
765 |
766 // ---------------------------------------------------------------------------- |
766 // ---------------------------------------------------------------------------- |
|
767 // CMPXDbTable::ExecuteSumExQueryL |
|
768 // ---------------------------------------------------------------------------- |
|
769 // |
|
770 EXPORT_C TInt CMPXDbTable::ExecuteSumExQueryL( |
|
771 const TDesC& aQuery, |
|
772 TUint32 aPlaylistId, |
|
773 TInt aDrive) |
|
774 { |
|
775 MPX_FUNC("CMPXDbTable::ExecuteSumExQueryL"); |
|
776 |
|
777 HBufC* query = HBufC::NewLC(aQuery.Length() + KMCIntegerLen); |
|
778 query->Des().Format(aQuery, aPlaylistId); |
|
779 |
|
780 RSqlStatement recordset(iDbManager.ExecuteSelectQueryOnAllDrivesL(aDrive, *query)); |
|
781 CleanupClosePushL(recordset); |
|
782 |
|
783 TInt sum(0); |
|
784 TInt err(KErrNone); |
|
785 while ((err = recordset.Next()) == KSqlAtRow) |
|
786 { |
|
787 sum += recordset.ColumnInt64(KMPXTableDefaultIndex); |
|
788 } |
|
789 |
|
790 CleanupStack::PopAndDestroy(&recordset); |
|
791 CleanupStack::PopAndDestroy(query); |
|
792 |
|
793 if (err != KSqlAtEnd) |
|
794 { |
|
795 User::Leave(KErrCorrupt); |
|
796 } |
|
797 |
|
798 return sum; |
|
799 } |
|
800 |
|
801 // ---------------------------------------------------------------------------- |
767 // CMPXDbTable::ExecuteMediaQueryL |
802 // CMPXDbTable::ExecuteMediaQueryL |
768 // ---------------------------------------------------------------------------- |
803 // ---------------------------------------------------------------------------- |
769 // |
804 // |
770 EXPORT_C void CMPXDbTable::ExecuteMediaQueryL( |
805 EXPORT_C void CMPXDbTable::ExecuteMediaQueryL( |
771 const TArray<TMPXAttribute>& aAttrs, |
806 const TArray<TMPXAttribute>& aAttrs, |