亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ogrocitablelayer.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/* -------------------------------------------------------------------- */    if( poFeature->GetGeometryRef() != NULL )    {        OGREnvelope  sThisExtent;                poFeature->GetGeometryRef()->getEnvelope( &sThisExtent );        sExtent.Merge( sThisExtent );    }/* -------------------------------------------------------------------- *//*      Do the actual creation.                                         *//* -------------------------------------------------------------------- */    if( CSLFetchBoolean( papszOptions, "MULTI_LOAD", bNewLayer ) )        return BoundCreateFeature( poFeature );    else        return UnboundCreateFeature( poFeature );}/************************************************************************//*                        UnboundCreateFeature()                        *//************************************************************************/OGRErr OGROCITableLayer::UnboundCreateFeature( OGRFeature *poFeature ){    OGROCISession      *poSession = poDS->GetSession();    char                *pszCommand;    int                 i, bNeedComma = FALSE;    unsigned int        nCommandBufSize;;/* -------------------------------------------------------------------- *//*      Prepare SQL statement buffer.                                   *//* -------------------------------------------------------------------- */    nCommandBufSize = 2000;    pszCommand = (char *) CPLMalloc(nCommandBufSize);/* -------------------------------------------------------------------- *//*      Form the INSERT command.                                        *//* -------------------------------------------------------------------- */    sprintf( pszCommand, "INSERT INTO %s (", poFeatureDefn->GetName() );    if( poFeature->GetGeometryRef() != NULL )    {        bNeedComma = TRUE;        strcat( pszCommand, pszGeomName );    }        if( pszFIDName != NULL )    {        if( bNeedComma )            strcat( pszCommand, ", " );                strcat( pszCommand, pszFIDName );        bNeedComma = TRUE;    }        for( i = 0; i < poFeatureDefn->GetFieldCount(); i++ )    {        if( !poFeature->IsFieldSet( i ) )            continue;        if( !bNeedComma )            bNeedComma = TRUE;        else            strcat( pszCommand, ", " );        sprintf( pszCommand + strlen(pszCommand), "\"%s\"",                 poFeatureDefn->GetFieldDefn(i)->GetNameRef() );    }    strcat( pszCommand, ") VALUES (" );    CPLAssert( strlen(pszCommand) < nCommandBufSize );/* -------------------------------------------------------------------- *//*      Set the geometry                                                *//* -------------------------------------------------------------------- */    bNeedComma = poFeature->GetGeometryRef() != NULL;    if( poFeature->GetGeometryRef() != NULL)    {        OGRGeometry *poGeometry = poFeature->GetGeometryRef();        char szSDO_GEOMETRY[512];        char szSRID[128];        if( nSRID == -1 )            strcpy( szSRID, "NULL" );        else            sprintf( szSRID, "%d", nSRID );        if( wkbFlatten(poGeometry->getGeometryType()) == wkbPoint )        {            OGRPoint *poPoint = (OGRPoint *) poGeometry;            if( nDimension == 2 )                sprintf( szSDO_GEOMETRY,                         "%s(%d,%s,MDSYS.SDO_POINT_TYPE(%.16g,%.16g,0),NULL,NULL)",                         SDO_GEOMETRY, 2001, szSRID,                          poPoint->getX(), poPoint->getY() );            else                sprintf( szSDO_GEOMETRY,                          "%s(%d,%s,MDSYS.SDO_POINT_TYPE(%.16g,%.16g,%.16g),NULL,NULL)",                         SDO_GEOMETRY, 3001, szSRID,                          poPoint->getX(), poPoint->getY(), poPoint->getZ() );        }        else        {            int  nGType;            if( TranslateToSDOGeometry( poFeature->GetGeometryRef(), &nGType )                == OGRERR_NONE )                sprintf( szSDO_GEOMETRY,                          "%s(%d,%s,NULL,:elem_info,:ordinates)",                          SDO_GEOMETRY, nGType, szSRID );            else                sprintf( szSDO_GEOMETRY, "NULL" );        }        if( strlen(pszCommand) + strlen(szSDO_GEOMETRY)             > nCommandBufSize - 50 )        {            nCommandBufSize =                 strlen(pszCommand) + strlen(szSDO_GEOMETRY) + 10000;            pszCommand = (char *) CPLRealloc(pszCommand, nCommandBufSize );        }        strcat( pszCommand, szSDO_GEOMETRY );    }/* -------------------------------------------------------------------- *//*      Set the FID.                                                    *//* -------------------------------------------------------------------- */    int nOffset = strlen(pszCommand);    if( pszFIDName != NULL )    {        long  nFID;        if( bNeedComma )            strcat( pszCommand+nOffset, ", " );        bNeedComma = TRUE;        nOffset += strlen(pszCommand+nOffset);        nFID = poFeature->GetFID();        if( nFID == -1 )            nFID = iNextFIDToWrite++;        sprintf( pszCommand+nOffset, "%ld", nFID );    }/* -------------------------------------------------------------------- *//*      Set the other fields.                                           *//* -------------------------------------------------------------------- */    for( i = 0; i < poFeatureDefn->GetFieldCount(); i++ )    {        if( !poFeature->IsFieldSet( i ) )            continue;        OGRFieldDefn *poFldDefn = poFeatureDefn->GetFieldDefn(i);        const char *pszStrValue = poFeature->GetFieldAsString(i);        if( bNeedComma )            strcat( pszCommand+nOffset, ", " );        else            bNeedComma = TRUE;        if( strlen(pszStrValue) + strlen(pszCommand+nOffset) + nOffset             > nCommandBufSize-50 )        {            nCommandBufSize = strlen(pszCommand) + strlen(pszStrValue) + 10000;            pszCommand = (char *) CPLRealloc(pszCommand, nCommandBufSize );        }                if( poFldDefn->GetType() == OFTInteger             || poFldDefn->GetType() == OFTReal )        {            if( poFldDefn->GetWidth() > 0 && bPreservePrecision                && (int) strlen(pszStrValue) > poFldDefn->GetWidth() )            {                strcat( pszCommand+nOffset, "NULL" );                ReportTruncation( poFldDefn );            }            else                strcat( pszCommand+nOffset, pszStrValue );        }        else         {            int         iChar;            /* We need to quote and escape string fields. */            strcat( pszCommand+nOffset, "'" );            nOffset += strlen(pszCommand+nOffset);                        for( iChar = 0; pszStrValue[iChar] != '\0'; iChar++ )            {                if( poFldDefn->GetWidth() != 0 && bPreservePrecision                    && iChar >= poFldDefn->GetWidth() )                {                    ReportTruncation( poFldDefn );                    break;                }                if( pszStrValue[iChar] == '\'' )                {                    pszCommand[nOffset++] = '\'';                    pszCommand[nOffset++] = pszStrValue[iChar];                }                else                    pszCommand[nOffset++] = pszStrValue[iChar];            }            pszCommand[nOffset] = '\0';                        strcat( pszCommand+nOffset, "'" );        }        nOffset += strlen(pszCommand+nOffset);    }    strcat( pszCommand+nOffset, ")" );/* -------------------------------------------------------------------- *//*      Prepare statement.                                              *//* -------------------------------------------------------------------- */    OGROCIStatement oInsert( poSession );    int  bHaveOrdinates = strstr(pszCommand,":ordinates") != NULL;    int  bHaveElemInfo = strstr(pszCommand,":elem_info") != NULL;    if( oInsert.Prepare( pszCommand ) != CE_None )    {        CPLFree( pszCommand );        return OGRERR_FAILURE;    }    CPLFree( pszCommand );/* -------------------------------------------------------------------- *//*      Bind and translate the elem_info if we have some.               *//* -------------------------------------------------------------------- */    if( bHaveElemInfo )    {        OCIBind *hBindOrd = NULL;        int i;        OCINumber oci_number;         // Create or clear VARRAY         if( hElemInfoVARRAY == NULL )        {            if( poSession->Failed(                OCIObjectNew( poSession->hEnv, poSession->hError,                               poSession->hSvcCtx, OCI_TYPECODE_VARRAY,                              poSession->hElemInfoTDO, (dvoid *)NULL,                               OCI_DURATION_SESSION,                              FALSE, (dvoid **)&hElemInfoVARRAY),                "OCIObjectNew(hElemInfoVARRAY)") )                return OGRERR_FAILURE;        }        else        {            sb4  nOldCount;            OCICollSize( poSession->hEnv, poSession->hError,                          hElemInfoVARRAY, &nOldCount );            OCICollTrim( poSession->hEnv, poSession->hError,                          nOldCount, hElemInfoVARRAY );        }        // Prepare the VARRAY of ordinate values.         for (i = 0; i < nElemInfoCount; i++)        {            if( poSession->Failed(                 OCINumberFromInt( poSession->hError,                                   (dvoid *) (panElemInfo + i),                                  (uword)sizeof(int),                                  OCI_NUMBER_SIGNED,                                  &oci_number),                "OCINumberFromInt") )                return OGRERR_FAILURE;            if( poSession->Failed(                 OCICollAppend( poSession->hEnv, poSession->hError,                               (dvoid *) &oci_number,                               (dvoid *)0, hElemInfoVARRAY),                "OCICollAppend") )                return OGRERR_FAILURE;        }        // Do the binding.        if( poSession->Failed(             OCIBindByName( oInsert.GetStatement(), &hBindOrd,                            poSession->hError,                           (text *) ":elem_info", (sb4) -1, (dvoid *) 0,                            (sb4) 0, SQLT_NTY, (dvoid *)0, (ub2 *)0,                            (ub2 *)0, (ub4)0, (ub4 *)0,                            (ub4)OCI_DEFAULT),            "OCIBindByName(:elem_info)") )            return OGRERR_FAILURE;        if( poSession->Failed(            OCIBindObject( hBindOrd, poSession->hError,                            poSession->hElemInfoTDO,                           (dvoid **)&hElemInfoVARRAY, (ub4 *)0,                            (dvoid **)0, (ub4 *)0),            "OCIBindObject(:elem_info)" ) )            return OGRERR_FAILURE;    }/* -------------------------------------------------------------------- *//*      Bind and translate the ordinates if we have some.               *//* -------------------------------------------------------------------- */    if( bHaveOrdinates )    {        OCIBind *hBindOrd = NULL;        int i;        OCINumber oci_number;         // Create or clear VARRAY         if( hOrdVARRAY == NULL )        {            if( poSession->Failed(                OCIObjectNew( poSession->hEnv, poSession->hError,                               poSession->hSvcCtx, OCI_TYPECODE_VARRAY,                              poSession->hOrdinatesTDO, (dvoid *)NULL,                               OCI_DURATION_SESSION,                              FALSE, (dvoid **)&hOrdVARRAY),                "OCIObjectNew(hOrdVARRAY)") )                return OGRERR_FAILURE;        }        else        {            sb4  nOldCount;            OCICollSize( poSession->hEnv, poSession->hError,                          hOrdVARRAY, &nOldCount );            OCICollTrim( poSession->hEnv, poSession->hError,                          nOldCount, hOrdVARRAY );        }        // Prepare the VARRAY of ordinate values.         for (i = 0; i < nOrdinalCount; i++)        {            if( poSession->Failed( 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷一区二区三区四区| 日韩视频在线一区二区| 欧美一区二区三区四区视频| 欧美国产丝袜视频| 天天综合色天天| 91猫先生在线| 国产日韩欧美不卡在线| 偷拍一区二区三区四区| 99久久99久久免费精品蜜臀| 精品精品国产高清一毛片一天堂| 亚洲自拍偷拍图区| 99在线视频精品| 国产亚洲一区字幕| 老鸭窝一区二区久久精品| 国产一区在线精品| 日本欧美在线观看| 欧美午夜视频网站| 亚洲欧美日韩国产中文在线| 国产成人三级在线观看| www国产精品av| 美女脱光内衣内裤视频久久网站| 欧美午夜精品电影| 一区二区三区四区中文字幕| av亚洲精华国产精华精| 国产精品乱码久久久久久 | 国产午夜精品久久久久久久 | 制服丝袜中文字幕一区| 亚洲午夜激情av| 91九色最新地址| 亚洲精品自拍动漫在线| 日本道精品一区二区三区| 欧美国产日韩a欧美在线观看| 黄一区二区三区| 欧美精品一区二区在线观看| 久久福利资源站| 欧美r级电影在线观看| 久久精品噜噜噜成人av农村| 精品乱人伦小说| 经典三级一区二区| 日本一区二区三区在线不卡| 波多野结衣中文字幕一区| 中文字幕一区视频| 在线亚洲+欧美+日本专区| 一区二区高清免费观看影视大全| 欧美中文字幕一区二区三区亚洲| 亚洲一区二区三区四区在线 | 一区在线播放视频| 色8久久人人97超碰香蕉987| 亚洲观看高清完整版在线观看| 欧美日韩国产影片| 久久精品国产久精国产| 国产性天天综合网| 91视频国产资源| 亚洲成a人片在线不卡一二三区| 欧美丰满嫩嫩电影| 狠狠色丁香九九婷婷综合五月| 国产日韩精品一区二区三区| 在线亚洲高清视频| 麻豆一区二区三| 欧美激情一区二区三区| 欧美性感一区二区三区| 久久国产日韩欧美精品| 国产精品久99| 欧美日韩一区二区三区在线看| 秋霞电影网一区二区| 国产欧美日韩另类一区| 色综合激情久久| 免费不卡在线视频| **欧美大码日韩| 欧美一级片免费看| 99免费精品在线观看| 五月综合激情网| 欧美激情一区在线| 91精品国产综合久久香蕉麻豆 | 日韩欧美的一区| 成人黄色免费短视频| 免费成人av在线| 亚洲精品乱码久久久久久久久 | 中文字幕一区二区三区乱码在线| 欧美中文字幕不卡| 国产传媒欧美日韩成人| 亚洲成在人线在线播放| 国产欧美一区二区在线观看| 精品视频资源站| 成人免费看的视频| 老司机一区二区| 午夜精品久久一牛影视| 亚洲欧美一区二区三区国产精品| 精品国产乱码久久久久久蜜臀| 91麻豆免费看| 成人综合婷婷国产精品久久蜜臀| 美日韩黄色大片| 五月激情综合网| 一区二区三区在线观看网站| 国产欧美精品国产国产专区| 91精品国产综合久久久久久久久久 | 国产欧美日韩麻豆91| 欧美理论在线播放| 在线观看一区二区精品视频| 成人精品小蝌蚪| 国产在线不卡一区| 青青草原综合久久大伊人精品| 亚洲精品乱码久久久久久黑人| 国产精品欧美一级免费| 欧美tickle裸体挠脚心vk| 538在线一区二区精品国产| 在线一区二区三区四区| 成人avav影音| 成人精品免费视频| 国产成人av福利| 国产一区二区精品在线观看| 久久99国产精品久久99 | 亚洲r级在线视频| 夜夜嗨av一区二区三区网页 | 一区二区三区产品免费精品久久75| 国产丝袜美腿一区二区三区| 26uuu精品一区二区| 亚洲精品一区二区三区四区高清| 欧美成人一区二区三区片免费 | 26uuu国产在线精品一区二区| 91麻豆精品国产无毒不卡在线观看| 欧美久久久久久蜜桃| 777精品伊人久久久久大香线蕉| 91精品国产综合久久久久久久| 日韩精品在线网站| 欧美精品一区二区三区很污很色的| 欧美xfplay| 国产欧美日韩三级| 亚洲精品视频在线观看网站| 亚洲成人1区2区| 精品综合久久久久久8888| 国产精品一级片| 99re成人精品视频| 欧美日韩国产综合一区二区| 日韩欧美一二三区| 国产精品青草久久| 亚洲成人高清在线| 激情偷乱视频一区二区三区| 不卡av免费在线观看| 欧美视频一区二区三区在线观看| 884aa四虎影成人精品一区| 久久影院视频免费| 亚洲欧美色一区| 午夜精品福利一区二区三区蜜桃| 久88久久88久久久| av亚洲精华国产精华| 91精品国产免费| 国产色一区二区| 亚洲女人小视频在线观看| 日本亚洲三级在线| 国产v日产∨综合v精品视频| 在线观看成人免费视频| 精品国产乱码久久久久久免费| 国产精品乱码人人做人人爱 | 免费人成在线不卡| 国产91精品一区二区| 欧美色图免费看| 亚洲国产电影在线观看| 午夜欧美在线一二页| 成人综合婷婷国产精品久久免费| 欧美日韩精品综合在线| 欧美国产精品v| 蜜桃视频在线观看一区| 色综合中文字幕国产 | 中文字幕在线观看一区| 日本中文字幕不卡| 91丨九色丨蝌蚪丨老版| 精品国一区二区三区| 亚洲成人免费在线观看| av中文字幕在线不卡| 精品国产欧美一区二区| 亚洲动漫第一页| 91小宝寻花一区二区三区| 亚洲精品一区二区三区四区高清| 五月天亚洲婷婷| 色噜噜狠狠色综合中国| 国产欧美一区二区精品久导航 | 精品一区二区三区免费| 欧美日韩一级二级三级| 亚洲日本一区二区| 岛国一区二区三区| 国产亚洲一本大道中文在线| 男人操女人的视频在线观看欧美| 色妹子一区二区| 国产精品第五页| 粉嫩在线一区二区三区视频| 久久精品一二三| 韩国三级在线一区| 678五月天丁香亚洲综合网| 亚洲一区二区三区精品在线| 91麻豆精品在线观看| 国产精品久久久久久久久图文区 | 欧美一级日韩免费不卡| 亚洲国产欧美在线| 在线免费视频一区二区| 亚洲精品成人在线| 欧美综合一区二区三区| 亚洲一区二区欧美激情| 欧美日韩极品在线观看一区| 亚洲午夜精品一区二区三区他趣|