Правильное форматирование операторов SQL для SQLite - PullRequest
0 голосов
/ 08 марта 2012

У меня есть несколько операторов create, которые должны выполняться при первом создании базы данных в моем приложении Android.Они отформатированы следующим образом:

<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>

Как правило, это правильное форматирование для операторов SQL, которые могут выполняться в SQLite на Android (вероятно, это будет работать)?Точнее говоря, части операторов SQL в документации для Android не должны заканчиваться точкой с запятой, в то время как части не упоминают точки с запятой.

1 Ответ

0 голосов
/ 08 марта 2012

Я не использовал INSERT операторы с прямым синтаксисом SQL, только с помощью SQLDatabase API;но из моего опыта я бы сказал, что ваше заявление CREATE будет работать так, как написано.

Что касается документации по API, то все очень просто: используйте эти операторы с любым методом, разрешающим точку с запятой;удалите точку с запятой, если вам нужно использовать те же операторы с методами, которые не позволяют их в конце.(Вы также можете работать по-другому: избегайте точек с запятой в своих операторах, затем добавляйте правильную пунктуацию только в тех случаях, когда вы используете эти операторы с методами API, требующими точки с запятой.)

Однако я немного сбит с толкутот факт, что вы включаете ваши операторы SQL в XML (не говоря уже о том, что они являются единственным элементом в string-array).Обычно я привык видеть их в коде Java в виде String конкатенаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...