Modified:
trunk/MYSQLPlus/MYSQLPlusLib/MResult.cpp
Log:
- work on SQLBindParameter
Modified: trunk/MYSQLPlus/MYSQLPlusLib/MResult.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MResult.cpp 2006-06-14 14:08:11 UTC (rev 332)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MResult.cpp 2006-06-14 15:32:56 UTC (rev 333)
@@ -2512,9 +2512,10 @@
{
MYODBCDbgEnter();
- case SQL_C_XML:
- pResultPutData->variantData.setValue( QString::fromAscii( (SQLCHAR*)pData,
pResultPutData->pDescriptorRecordAPD->getOctetLength() ) ); ;
- MYODBCDbgReturn( SQL_SUCCESS );
+ if ( pResultPutData->pDescriptorRecordAPD->getConciseType() == SQL_C_WCHAR )
+ pResultPutData->variantData.setValue( QString::fromUtf16(
(char*)pResultPutData->pDescriptorRecordAPD->getDataPtr(),
pResultPutData->pDescriptorRecordAPD->getOctetLength() ) );
+ else
+ pResultPutData->variantData.setValue( QString::fromAscii(
(char*)pResultPutData->pDescriptorRecordAPD->getDataPtr(),
pResultPutData->pDescriptorRecordAPD->getOctetLength() ) );
switch ( pResultPutData->pDescriptorRecordIPD->getConciseType() )
{
@@ -2524,6 +2525,8 @@
case SQL_WCHAR:
case SQL_WVARCHAR:
case SQL_WLONGVARCHAR:
+ pResultPutData->variantData.setValue( "'" +
pResultPutData->variantData.toString() + "'" );
+ MYODBCDbgReturn( SQL_SUCCESS );
case SQL_DECIMAL:
case SQL_NUMERIC:
case SQL_TINYINT:
@@ -2540,7 +2543,9 @@
case SQL_INTERVAL_HOUR:
case SQL_INTERVAL_MINUTE:
case SQL_INTERVAL_SECOND:
- MYODBCDbgReturn( toSQL( pResultPutData ) );
+ if ( pResultPutData->variantData.convert( qlonglong ) )
+ MYODBCDbgReturn( SQL_SUCCESS );
+ break;
}
/*!
@@ -2619,7 +2624,10 @@
case SQL_WCHAR:
case SQL_WVARCHAR:
case SQL_WLONGVARCHAR:
-
+ if ( !pResultPutData->variantData.convert( QString ) )
+ break;
+ pResultPutData->variantData.setValue( "'" +
pResultPutData->variantData.toString() + "'" );
+ MYODBCDbgReturn( SQL_SUCCESS );
case SQL_DECIMAL:
case SQL_NUMERIC:
case SQL_TINYINT:
@@ -2636,6 +2644,7 @@
case SQL_INTERVAL_HOUR:
case SQL_INTERVAL_MINUTE:
case SQL_INTERVAL_SECOND:
+ MYODBCDbgReturn( SQL_SUCCESS );
}
/*!
@@ -2652,7 +2661,7 @@
{
MYODBCDbgEnter();
- pResultPutData->variantData.setValue(
(SQLCHAR*)pResultPutData->pDescriptorRecordAPD->getDataPtr() );
+ pResultPutData->variantData.setValue(
*(SQLCHAR*)pResultPutData->pDescriptorRecordAPD->getDataPtr() );
switch ( pResultPutData->pDescriptorRecordIPD->getConciseType() )
{
@@ -2726,6 +2735,7 @@
case SQL_BIT:
if ( pResultPutData->variantData.convert( qlonglong ) )
MYODBCDbgReturn( SQL_SUCCESS );
+ break;
case SQL_TYPE_DATE:
case SQL_TYPE_TIME:
case SQL_TYPE_TIMESTAMP:
| Thread |
|---|
| • Connector/ODBC 5 commit: r333 - trunk/MYSQLPlus/MYSQLPlusLib | pharvey | 14 Jun |