Android 和 SQLite : When to use semicolons to end statements?

标签 android sqlite

如果您在 Android 上使用 SQLite 的 rawQuery()execSQL() 方法,什么时候应该使用分号结束语句?

关于 this tutorial ,例如,作者在 create table 语句(通过 execSQL)中使用了分号,但在 select 语句(通过 rawQuery)中没有使用分号。例如:

建表语句:

private static final String DATABASE_CREATE = "create table "
      + TABLE_COMMENTS + "(" + COLUMN_ID
      + " integer primary key autoincrement, " + COLUMN_COMMENT
      + " text not null);";
database.execSQL(DATABASE_CREATE);

选择语句:

Cursor cursor = getReadableDatabase().
  rawQuery("select * from todo where _id = ?", new String[] { id });

是不是使用execSQL()方法的语句末尾需要分号,而使用rawQuery()方法的语句不需要?

最佳答案

SQLite 语句以分号 (;) 结束。如果指定了一个,则意味着它是一个命令的结尾,并且可以在该分号之后执行更多命令。如果没有指定分号,则将整个字符串作为命令。

在这种情况下,CREATE 语句中的分号无关紧要,因为它后面没有任何内容。

关于Android 和 SQLite : When to use semicolons to end statements?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202600/

相关文章:

java - 使用 android AccountManager 获取 OAuth2 token ?

android - 有没有 webview 的替代品?

sqlite,在连接表中按日期/整数排序

sqlite - SGE+ sqlite3 : Error: database is locked

ios - 每次运行应用程序时,我都必须下载新数据

java - 支持多用户写入的 SQLite for Java 替代方案

java - BitmapFactory类型中的方法decodeResource(Resources, int)不适用于Android中的参数(Resources, String)

android - 如何在android中禁用锁屏?

android - 插屏广告延迟展示

android - 三星 Tab2 中的 SQLite 数据库(外部 Micro sd 卡)