Sqlite:创建一个表并只填写一次信息

Sqlite:创建一个表并只填写一次信息,sqlite,insert,appcelerator,Sqlite,Insert,Appcelerator,我有一个appcelerator Tianium项目(你不需要熟悉这个平台来帮助我),我正在使用它来创建iOS应用程序。我希望有一个数据库,它的表第一次填充了几行,第一次之后就不用再处理了 我知道你可以创建一个不存在的表。插入数据有类似的方法吗 谢谢 如果需要,可以使用INSERT或REPLACE,但您也可以根据表中的行数进行检查: SELECT COUNT(*) FROM MyTable; 然后决定输入它们。通过一些特定于钛的代码扩展MPelletier的响应,您可以在项目中执行以下操作:

我有一个appcelerator Tianium项目(你不需要熟悉这个平台来帮助我),我正在使用它来创建iOS应用程序。我希望有一个数据库,它的表第一次填充了几行,第一次之后就不用再处理了

我知道你可以创建一个不存在的表。插入数据有类似的方法吗


谢谢

如果需要,可以使用INSERT或REPLACE,但您也可以根据表中的行数进行检查:

SELECT COUNT(*) FROM MyTable;

然后决定输入它们。

通过一些特定于钛的代码扩展MPelletier的响应,您可以在项目中执行以下操作:

var my_db = Ti.Database.open('nameofdb');
var my_result_set = my_db.execute('SELECT * FROM MyTable');
var records = my_result_set.rowCount;
records变量将指示表中是否有数据,然后您可以相应地采取行动


钛合金有几个很好的ORM工具:TiStore和Joli是我用过的两个。这两种方法都受到ActiveRecord的启发,有助于减少与DB相关的代码。如果你想了解更多关于他们的信息,他们在Github上

您可以通过SQLLiteManager或任何您想要的工具创建数据库并在其中插入数据,然后转储它

把你转储的文件放在你的钛项目文件夹中(在资源文件夹的某个地方)

然后这行代码将获取.sqlite文件的内容并将其插入iOS db:

var db = Ti.Database.install('../your-db.sqlite', 'your-db-name');
不要忘记SQL文件中的CREATEIF NOT EXISTS语句


或者使用REPLACE而不是MPelletier所说的INSERT。

那么,如果我有一个名为MyTable的表,上面的命令会返回行数吗?