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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ogrocitablelayer.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫(kù)
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/************************************************************************//*                      BuildFullQueryStatement()                       *//************************************************************************/void OGROCITableLayer::BuildFullQueryStatement(){    if( pszQueryStatement != NULL )    {        CPLFree( pszQueryStatement );        pszQueryStatement = NULL;    }    OGROCIStringBuf oCmd;    char *pszFields = BuildFields();    oCmd.Append( "SELECT " );    oCmd.Append( pszFields );    oCmd.Append( " FROM " );    oCmd.Append( poFeatureDefn->GetName() );    oCmd.Append( " " );    oCmd.Append( pszWHERE );    pszQueryStatement = oCmd.StealString();    CPLFree( pszFields );}/************************************************************************//*                             GetFeature()                             *//************************************************************************/OGRFeature *OGROCITableLayer::GetFeature( long nFeatureId ){/* -------------------------------------------------------------------- *//*      If we don't have an FID column scan for the desired feature.    *//* -------------------------------------------------------------------- */    if( pszFIDName == NULL )        return OGROCILayer::GetFeature( nFeatureId );/* -------------------------------------------------------------------- *//*      Clear any existing query.                                       *//* -------------------------------------------------------------------- */    ResetReading();/* -------------------------------------------------------------------- *//*      Build query for this specific feature.                          *//* -------------------------------------------------------------------- */    OGROCIStringBuf oCmd;    char *pszFields = BuildFields();    oCmd.Append( "SELECT " );    oCmd.Append( pszFields );    oCmd.Append( " FROM " );    oCmd.Append( poFeatureDefn->GetName() );    oCmd.Append( " " );    oCmd.Appendf( 50+strlen(pszFIDName),                   " WHERE \"%s\" = %ld ",                   pszFIDName, nFeatureId );/* -------------------------------------------------------------------- *//*      Execute the statement.                                          *//* -------------------------------------------------------------------- */    if( !ExecuteQuery( oCmd.GetString() ) )        return NULL;/* -------------------------------------------------------------------- *//*      Get the feature.                                                *//* -------------------------------------------------------------------- */    OGRFeature *poFeature;    poFeature = GetNextRawFeature();        if( poFeature != NULL && poFeature->GetGeometryRef() != NULL )        poFeature->GetGeometryRef()->assignSpatialReference( poSRS );/* -------------------------------------------------------------------- *//*      Cleanup the statement.                                          *//* -------------------------------------------------------------------- */    ResetReading();/* -------------------------------------------------------------------- *//*      verify the FID.                                                 *//* -------------------------------------------------------------------- */    if( poFeature != NULL && poFeature->GetFID() != nFeatureId )    {        CPLError( CE_Failure, CPLE_AppDefined,                   "OGROCITableLayer::GetFeature(%d) ... query returned feature %d instead!",                  nFeatureId, poFeature->GetFID() );        delete poFeature;        return NULL;    }    else        return poFeature;}/************************************************************************//*                           GetNextFeature()                           *//*                                                                      *//*      We override the next feature method because we know that we     *//*      implement the attribute query within the statement and so we    *//*      don't have to test here.   Eventually the spatial query will    *//*      be fully tested within the statement as well.                   *//************************************************************************/OGRFeature *OGROCITableLayer::GetNextFeature(){    for( ; TRUE; )    {        OGRFeature      *poFeature;        poFeature = GetNextRawFeature();        if( poFeature == NULL )        {            CPLDebug( "OCI", "Query complete, got %d hits, and %d discards.",                      nHits, nDiscarded );            nHits = 0;            nDiscarded = 0;            return NULL;        }        if( m_poFilterGeom == NULL            || FilterGeometry( poFeature->GetGeometryRef() ) )        {            nHits++;            if( poFeature->GetGeometryRef() != NULL )                poFeature->GetGeometryRef()->assignSpatialReference( poSRS );            return poFeature;        }        if( m_poFilterGeom != NULL )            nDiscarded++;        delete poFeature;    }}/************************************************************************//*                            ResetReading()                            *//************************************************************************/void OGROCITableLayer::ResetReading(){    nHits = 0;    nDiscarded = 0;    FlushPendingFeatures();    BuildFullQueryStatement();    OGROCILayer::ResetReading();}/************************************************************************//*                            BuildFields()                             *//*                                                                      *//*      Build list of fields to fetch, performing any required          *//*      transformations (such as on geometry).                          *//************************************************************************/char *OGROCITableLayer::BuildFields(){    int         i;    OGROCIStringBuf oFldList;    if( pszGeomName )                                                       {        oFldList.Append( "\"" );        oFldList.Append( pszGeomName );        oFldList.Append( "\"" );        iGeomColumn = 0;    }    for( i = 0; i < poFeatureDefn->GetFieldCount(); i++ )    {        const char *pszName = poFeatureDefn->GetFieldDefn(i)->GetNameRef();        if( oFldList.GetLast() != '\0' )            oFldList.Append( "," );        oFldList.Append( "\"" );        oFldList.Append( pszName );        oFldList.Append( "\"" );    }    if( pszFIDName != NULL )    {        iFIDColumn = poFeatureDefn->GetFieldCount();        oFldList.Append( ",\"" );        oFldList.Append( pszFIDName );        oFldList.Append( "\"" );    }    return oFldList.StealString();}/************************************************************************//*                         SetAttributeFilter()                         *//************************************************************************/OGRErr OGROCITableLayer::SetAttributeFilter( const char *pszQuery ){    if( (pszQuery == NULL && this->pszQuery == NULL)        || (pszQuery != NULL && this->pszQuery != NULL            && strcmp(pszQuery,this->pszQuery) == 0) )        return OGRERR_NONE;        CPLFree( this->pszQuery );    if( pszQuery == NULL )        this->pszQuery = NULL;    else        this->pszQuery = CPLStrdup( pszQuery );    BuildWhere();    ResetReading();    return OGRERR_NONE;}/************************************************************************//*                             SetFeature()                             *//*                                                                      *//*      We implement SetFeature() by deleting the existing row (if      *//*      it exists), and then using CreateFeature() to write it out      *//*      tot he table normally.  CreateFeature() will preserve the       *//*      existing FID if possible.                                       *//************************************************************************/OGRErr OGROCITableLayer::SetFeature( OGRFeature *poFeature ){/* -------------------------------------------------------------------- *//*      Do some validation.                                             *//* -------------------------------------------------------------------- */    if( pszFIDName == NULL )    {        CPLError( CE_Failure, CPLE_AppDefined,                   "OGROCITableLayer::SetFeature(%d) failed because there is "                  "no apparent FID column on table %s.",                  poFeature->GetFID(),                   poFeatureDefn->GetName() );        return OGRERR_FAILURE;    }    if( poFeature->GetFID() == OGRNullFID )    {        CPLError( CE_Failure, CPLE_AppDefined,                   "OGROCITableLayer::SetFeature(%d) failed because the feature "                  "has no FID!", poFeature->GetFID() );        return OGRERR_FAILURE;    }/* -------------------------------------------------------------------- *//*      Prepare the delete command, and execute.  We don't check the    *//*      error result of the execute, since attempting to Set a          *//*      non-existing feature may be OK.                                 *//* -------------------------------------------------------------------- */    OGROCIStringBuf     oCmdText;    OGROCIStatement     oCmdStatement( poDS->GetSession() );    oCmdText.Appendf( strlen(poFeatureDefn->GetName())+strlen(pszFIDName)+100,                      "DELETE FROM %s WHERE \"%s\" = %d",                      poFeatureDefn->GetName(),                       pszFIDName,                       poFeature->GetFID() );    oCmdStatement.Execute( oCmdText.GetString() );    return CreateFeature( poFeature );}/************************************************************************//*                           DeleteFeature()                            *//************************************************************************/OGRErr OGROCITableLayer::DeleteFeature( long nFID ){/* -------------------------------------------------------------------- *//*      Do some validation.                                             *//* -------------------------------------------------------------------- */    if( pszFIDName == NULL )    {        CPLError( CE_Failure, CPLE_AppDefined,                   "OGROCITableLayer::DeleteFeature(%d) failed because there is "                  "no apparent FID column on table %s.",                  nFID,                   poFeatureDefn->GetName() );        return OGRERR_FAILURE;    }    if( nFID == OGRNullFID )    {        CPLError( CE_Failure, CPLE_AppDefined,                   "OGROCITableLayer::DeleteFeature(%d) failed for Null FID",                   nFID );        return OGRERR_FAILURE;    }/* -------------------------------------------------------------------- *//*      Prepare the delete command, and execute.  We don't check the    *//*      error result of the execute, since attempting to Set a          *//*      non-existing feature may be OK.                                 *//* -------------------------------------------------------------------- */    OGROCIStringBuf     oCmdText;    OGROCIStatement     oCmdStatement( poDS->GetSession() );    oCmdText.Appendf( strlen(poFeatureDefn->GetName())+strlen(pszFIDName)+100,                      "DELETE FROM %s WHERE \"%s\" = %d",                      poFeatureDefn->GetName(),                       pszFIDName,                       nFID );    if( oCmdStatement.Execute( oCmdText.GetString() ) == CE_None )        return OGRERR_NONE;    else        return OGRERR_FAILURE;}/************************************************************************//*                           CreateFeature()                            *//************************************************************************/OGRErr OGROCITableLayer::CreateFeature( OGRFeature *poFeature ){/* -------------------------------------------------------------------- *//*      Add extents of this geometry to the existing layer extents.     */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频一二三区| 成+人+亚洲+综合天堂| 久久综合国产精品| 日本高清不卡aⅴ免费网站| 天堂在线一区二区| 最新久久zyz资源站| 欧美videossexotv100| 在线精品国精品国产尤物884a| 激情综合亚洲精品| 日韩一级欧美一级| 丰满少妇久久久久久久| 99久久亚洲一区二区三区青草| 国产乱人伦偷精品视频免下载 | 国产精品视频一二三| 欧美一级欧美一级在线播放| 在线观看日韩电影| 在线观看av一区二区| 欧日韩精品视频| 欧美三级在线看| 69堂精品视频| 日韩精品一区二区三区蜜臀| 精品电影一区二区| 亚洲最大成人综合| 中文字幕+乱码+中文字幕一区| 一区二区三区国产豹纹内裤在线| 国内精品国产成人| 欧美日韩国产高清一区| 亚洲欧洲成人精品av97| 国产精品原创巨作av| 欧美裸体bbwbbwbbw| 亚洲黄色小视频| 国产91色综合久久免费分享| 欧美一三区三区四区免费在线看| 国产精品久久久久永久免费观看| 国产精品国产a级| 天天综合天天做天天综合| 奇米一区二区三区| 不卡一区在线观看| 91麻豆精品国产91久久久久久| 精品国产伦一区二区三区免费| 国产日本一区二区| 日韩精品每日更新| voyeur盗摄精品| 成a人片亚洲日本久久| 久久久久久久免费视频了| 日韩不卡一区二区| 欧美精品国产精品| 亚洲午夜羞羞片| 成人ar影院免费观看视频| 国产精品成人免费| 亚洲一区二区三区在线看| 日韩在线观看一区二区| 成人永久aaa| 精品欧美一区二区三区精品久久| 久久精品亚洲精品国产欧美| 香蕉成人伊视频在线观看| 国产成人免费在线观看| 91精品欧美一区二区三区综合在| 在线视频一区二区三| 成人免费毛片aaaaa**| 一本色道a无线码一区v| 国产亚洲精品免费| 天天操天天色综合| 欧美午夜在线观看| 国产精品国产三级国产a| 国产一本一道久久香蕉| 欧美人伦禁忌dvd放荡欲情| 国产午夜亚洲精品不卡| 看电视剧不卡顿的网站| 欧美一区二区三区免费| 亚瑟在线精品视频| 欧美日韩中文国产| 亚洲精品国产a| 色综合一个色综合亚洲| 亚洲欧洲精品成人久久奇米网| 成人免费看的视频| 国产精品网站一区| 91丝袜国产在线播放| 亚洲欧洲在线观看av| 色综合色综合色综合色综合色综合| 国产调教视频一区| 93久久精品日日躁夜夜躁欧美| 久久―日本道色综合久久| 日韩专区欧美专区| 精品三级av在线| 粉嫩绯色av一区二区在线观看| 国产精品麻豆99久久久久久| 91在线无精精品入口| 亚洲国产一区二区三区| 3d动漫精品啪啪一区二区竹菊| 久久精品久久精品| ㊣最新国产の精品bt伙计久久| 在线观看国产一区二区| 免费在线观看精品| 国产精品精品国产色婷婷| 午夜av电影一区| 日韩欧美一级片| 国产激情一区二区三区四区| 亚洲免费av在线| 精品99一区二区| 欧美三级韩国三级日本一级| 激情综合色播五月| 亚洲国产视频一区| 国产区在线观看成人精品| 欧美视频在线一区二区三区| 国产风韵犹存在线视精品| 丝袜美腿成人在线| 亚洲精品一二三| 久久众筹精品私拍模特| 欧美日韩视频一区二区| 99热精品一区二区| 国产一区二区三区不卡在线观看 | 国产在线观看一区二区| 日韩三级视频在线观看| www.成人网.com| 美女一区二区久久| 日韩一区二区三区视频| 在线观看91精品国产入口| 国产不卡在线一区| 看电影不卡的网站| 日韩精品视频网站| 夜夜嗨av一区二区三区网页| 国产视频911| 精品久久久久久久久久久院品网| 在线免费一区三区| 99久久婷婷国产综合精品| 国产伦精品一区二区三区在线观看 | 开心九九激情九九欧美日韩精美视频电影| 国产视频一区二区在线观看| 精品国产乱子伦一区| 日韩一级精品视频在线观看| 色综合天天狠狠| 成人av在线资源网站| 国产精品一区二区久久不卡| 韩国av一区二区| 日本一不卡视频| 美女网站色91| 免费成人av在线播放| 美腿丝袜亚洲色图| 久久精品国内一区二区三区 | 国产欧美视频在线观看| 国产蜜臀av在线一区二区三区| 精品1区2区在线观看| 久久久精品日韩欧美| 亚洲丝袜美腿综合| 亚洲在线视频免费观看| 国产天堂亚洲国产碰碰| 欧美亚一区二区| 色偷偷88欧美精品久久久| 欧美日韩视频在线一区二区| 欧美日韩激情一区| 久久在线观看免费| 亚洲视频一区二区免费在线观看| 亚洲精品少妇30p| 六月丁香婷婷色狠狠久久| 国产激情一区二区三区四区 | 亚洲高清久久久| 韩日精品视频一区| 色欧美片视频在线观看| 日韩欧美国产系列| 国产精品久久久久久户外露出| 中文字幕在线观看不卡视频| 免费观看久久久4p| 91在线云播放| 国产精品色呦呦| 午夜av一区二区| jlzzjlzz国产精品久久| 日韩免费一区二区| 亚洲成a天堂v人片| 一本高清dvd不卡在线观看| 精品国产凹凸成av人网站| 亚洲专区一二三| 久久伊人中文字幕| 国产在线国偷精品免费看| 91精品免费在线| 亚洲综合一区二区三区| 日本久久一区二区| 1区2区3区欧美| 成人永久免费视频| 国产精品天美传媒沈樵| 成人听书哪个软件好| 精品国产制服丝袜高跟| 日日骚欧美日韩| 国产夫妻精品视频| 国产精品国产三级国产普通话三级| 日韩美女视频一区二区| 国产精品18久久久久| 亚洲精品一区二区三区福利| 国产精品99久久久久久久vr| 精品国产伦一区二区三区观看方式| 麻豆成人免费电影| 精品少妇一区二区三区免费观看 | 国产中文字幕精品| 欧美一区二区三区小说| 亚洲一区二区三区在线播放| 色婷婷综合久色| 三级久久三级久久| 制服丝袜亚洲播放| 久久66热偷产精品| 中文字幕一区在线|