正确格式化SQLite的SQL语句

时间:2012-03-07 21:50:24

标签: android sql sqlite

我在Android应用程序中首次创建数据库时应该运行一些create语句。它们的格式如下:

<string-array
        name="uaDBcreates">
        <item>
            CREATE TABLE pos_locations (
                _id INTEGER PRIMARY KEY,
                location_name TEXT,
                service_url TEXT,
                latitude REAL DEFAULT 0,
                longitude REAL DEFAULT 0
            );
        </item>
    </string-array>

    <string-array
        name="uaDBInserts">
        <item>
            INSERT INTO urbanAgendaDB.pos_locations (
                    _id,
                    location_name,
                    service_url
                    latitude,
                    longitude )
                VALUES (
                    000001,
                    OfficeTest,
                    http://myservice.com/DoStuff,
                    45.530315,
                    -73.569939);
        </item>
    </string-array>

通常,这是可以在Android上的SQLite中运行的SQL语句的正确格式(这可能有用)吗?更具体地说,部分Android文档状态SQL语句不应以分号结尾,而部分则不提及分号。

1 个答案:

答案 0 :(得分:0)

我没有使用直接SQL语法的INSERT语句,只能通过SQLDatabase API;但根据我的经验,我会说你的CREATE陈述将按照书面形式发挥作用。

就API文档而言,它非常简单:使用任何允许使用分号的方法使用这些语句;如果您需要使用那些不允许它们结束的方法的相同语句,请使用分号。 (您也可以反过来使用它:在语句中避免使用分号,然后仅在使用需要使用分号的API方法的语句时才添加正确的结尾标点符号。)

但是,我对您在XML中包含SQL语句这一事实感到有些困惑(更不用说它们是string-array中唯一的项目)。通常,我习惯在Java代码中以String连接的形式看到它们。