Android SQLite SQL语句的正确格式
我有几个create语句,在Android应用程序中首次创建数据库时应该运行这些语句。它们的格式如下:Android SQLite SQL语句的正确格式,android,sql,sqlite,Android,Sql,Sqlite,我有几个create语句,在Android应用程序中首次创建数据库时应该运行这些语句。它们的格式如下: <string-array name="uaDBcreates"> <item> CREATE TABLE pos_locations ( _id INTEGER PRIMARY KEY, location_name TEXT,
<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>
创建表格位置(
_id整数主键,
位置名称文本,
服务url文本,
纬度实际默认值为0,
经度实际默认值为0
);
插入urbangendadb.pos_位置(
_身份证,
地点和名称,
服务地址
纬度,
经度)
价值观(
000001,
官方测试,
http://myservice.com/DoStuff,
45.530315,
-73.569939);
通常,这是可以在Android上的SQLite中运行的SQL语句的正确格式吗(这可能有效吗)?更具体地说,androiddocs状态SQL语句的某些部分不应该以分号结尾,而有些部分则没有提到分号 我没有使用带有直接SQL语法的
INSERT
语句,只是通过SQLDatabase
API;但是根据我的经验,我想说你的CREATE
语句会像写的那样工作
就API文档而言,它非常简单:将这些语句与任何允许分号的方法一起使用;如果需要将这些语句与不允许在结尾使用分号的方法一起使用,请去掉分号。(您也可以采用另一种方法:在语句中避免使用分号,然后仅当您将这些语句与需要分号的API方法一起使用时,才添加正确的结尾标点。)
然而,我有点困惑于这样一个事实:您将SQL语句包含在XML中(更不用说它们是
字符串数组中的唯一项了)。通常,我习惯于在Java代码中以String
串联的形式看到它们。使用字符串数组是因为可能要运行多个语句。我将它们放在XML文件中的原因是将与DB相关的所有内容都保留在适当的位置。如果您能给我指一下显示保存SQL语句的最佳位置的资源,因为我读过的所有教程和资源都非常简单;仅显示在Android上使用SQLite所需的内容。@MikeD我没有您所谓的权威来源,但我见过数据库交互通常保存在一个类中:一个内容提供者,或者一个简单的包装器(如果开发人员希望自己的应用程序直接访问数据库)。该类是存储与数据库相关的所有内容的地方。例如,您的CREATE
语句存储在静态最终字符串
字段中,并在适当的时候使用。