pgs*_*rom 4 sqlite android pragma
所以我在市场上有一个应用程序,有了更新,我想在数据库中添加一些列.到目前为止没问题.但我想检测正在使用的数据库是否缺少这些列,如果是这种情况则添加它们.我需要动态完成此操作,而不仅仅是在更新到新版本之后,因为应用程序应该仍然能够导入旧数据库.通常我可以使用PRAGMA查询,但我不知道如何使用Android.我不能使用execSQL,因为它是一个查询,我无法弄清楚如何使用PRAGMA与query() - 函数.
当然,我可以捕获异常,然后添加列,或者在我开始使用它之前始终将列添加到每个表中,但这不是一个简洁的解决方案.
干杯,
Bra*_*ein 12
Pragma有效.作为一个例子,我只是在我的一个Android App DB上尝试过它.
sqlite> pragma table_info (userCommand);
cid name type notnull dflt_value pk
0 id INTEGER 0 1
1 description TEXT 0 0
2 message TEXT 0 0
Run Code Online (Sandbox Code Playgroud)
我们可以看到指定表中有三个字段.id,description和message.
因此,在您的应用中,使用以下内容:
Cursor c = null;
c = RawQuery ("pragma table_info (userCommand)",null);
// if c has records and is not null then iterate through the records in search of your table name.
Run Code Online (Sandbox Code Playgroud)
请原谅糟糕的格式.
归档时间: |
|
查看次数: |
5522 次 |
最近记录: |