Spatialite iOS5和xcode 4.5 - 无法准备语句:没有这样的功能:GLength

时间:2012-11-04 17:27:08

标签: ios sqlite xcode4 spatialite

我在理智的尽头试图使用xcode 4.5 for iOS6(或任何其他版本)进行编译。实际上,我可以使用基于Build a static library for iOS - specifically spatialite的技术来编译它,其中控制台返回所有都是oK但是当我运行查询,例如

“通过GLength(几何)限制2从uk_highways顺序选择pk_uid”语句将不会准备。

运行查询“从uk_highways限制2中选择pk_uid”将返回2个ID,即取出空间函数 - 工作正常(是的,表中有几何列)

我一直在敲我的头3天,真的需要一些帮助,我讨厌说,但我想我甚至需要一个“白痴指南”,如果那里有一个。

编辑:不确定为什么我没有包括第一轮:

-(int)getStreetLength
{
    int length;
    NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"dhub_spatial" ofType:@"sqlite"];
    sqlite3 *db;

    if (sqlite3_open([databasePath UTF8String], &db) == SQLITE_OK)
    {
    NSLog(@"***** database opened ********");
        spatialite_init(1);
        char *sql = "SELECT pk_uid from united_kingdom_highways  where pk_uid < 100 order by GLength(Geometry) limit 2;";
        sqlite3_stmt *stmt;

        if (sqlite3_prepare(db, sql, -1, &stmt, NULL) == SQLITE_OK)
        {

            NSLog(@"***** statement prepared ********");
            while (sqlite3_step(stmt) == SQLITE_ROW)
            {
                NSLog(@"***** all the way throug to the while loop ********");

                length = sqlite3_column_int(stmt, 0);
                NSLog(@"the value of pkuid is %i",length);
            }
        }
        else
        {
            NSLog(@"could not prepare statement: %s\n", sqlite3_errmsg(db)); //this returns no such function GLength
        }
    }

    return length;
}

0 个答案:

没有答案