本文整理汇总了C++中RSqlStatement::ColumnType方法的典型用法代码示例。如果您正苦于以下问题:C++ RSqlStatement::ColumnType方法的具体用法?C++ RSqlStatement::ColumnType怎么用?C++ RSqlStatement::ColumnType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RSqlStatement
的用法示例。
在下文中一共展示了RSqlStatement::ColumnType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ColumnsL
void CMdSSqLiteConnection::ColumnsL( const RSqlStatement& aStatement, RRowData& aRow )
{
const TInt count( aRow.Size() );
for( TInt i=0; i < count; ++i )
{
// get data in column, check for type
const TSqlColumnType actual = aStatement.ColumnType( i );
if( actual == ESqlNull )
{
aRow.Column( i ).Set( (const HBufC16*)NULL );
continue;
}
const TColumnDataType coltype = aRow.Column( i ).Type();
switch ( coltype )
{
case EColumnBool:
{
TInt valInt = aStatement.ColumnInt( i );
const TBool valBool = valInt ? ETrue : EFalse;
aRow.Column( i ).Set( valBool );
break;
}
case EColumnInt32:
{
TInt32 valInt = aStatement.ColumnInt( i );
aRow.Column( i ).Set( valInt );
break;
}
case EColumnUint32:
{
TInt64 valInt64 = aStatement.ColumnInt64( i );
aRow.Column( i ).Set( (TUint32)valInt64 );
break;
}
case EColumnInt64:
{
TInt64 valInt64 = aStatement.ColumnInt64( i );
aRow.Column( i ).Set( valInt64 );
break;
}
case EColumnReal32:
{
TReal valReal = aStatement.ColumnReal( i );
aRow.Column( i ).Set( static_cast<TReal32>( valReal ) );
break;
}
case EColumnReal64:
{
TReal valReal = aStatement.ColumnReal( i );
aRow.Column( i ).Set( valReal );
break;
}
case EColumnTime:
{
TTime valTime = aStatement.ColumnInt64( i );
aRow.Column( i ).Set( valTime );
break;
}
case EColumnDes16:
{
switch ( actual )
{
case ESqlText:
{
TPtrC16 valTPtrC16 = aStatement.ColumnTextL( i );
HBufC16* valHBuf16 = HBufC16::NewL( valTPtrC16.Length() );
*valHBuf16 = valTPtrC16;
aRow.Column( i ).Set( valHBuf16 );
break;
}
case ESqlInt:
{
HBufC16* valHBuf16int32 = HBufC16::NewL( 30 );
TInt valInt = aStatement.ColumnInt( i );
valHBuf16int32->Des().Num( valInt );
aRow.Column( i ).Set( valHBuf16int32 );
break;
}
case ESqlInt64:
{
HBufC16* valHBuf16int64 = HBufC16::NewL( 30 );
TInt64 valInt64 = aStatement.ColumnInt64( i );
valHBuf16int64->Des().Num( valInt64 );
aRow.Column( i ).Set( valHBuf16int64 );
break;
}
case ESqlReal:
{
HBufC16* valHBuf16real64 = HBufC16::NewL( 40 );
TReal valReal = aStatement.ColumnReal( i );
TRealFormat realFormat;
realFormat.iType |= KAllowThreeDigitExp;
valHBuf16real64->Des().Num( valReal, realFormat );
aRow.Column( i ).Set( valHBuf16real64 );
break;
}
case ESqlNull:
//.........这里部分代码省略.........