相关疑难解决方法(0)

转义单引号字符以在SQLite查询中使用

我编写了数据库模式(到目前为止只有一个表),并在一个文件中编写了该表的INSERT语句.然后我创建了数据库,如下所示:

$ sqlite3 newdatabase.db
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .read ./schema.sql
SQL error near line 16: near "s": syntax error
Run Code Online (Sandbox Code Playgroud)

我的文件的第16行看起来像这样:

INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
Run Code Online (Sandbox Code Playgroud)

问题是单引号的转义字符.我也试过双重转义单引号(使用\\\'而不是\'),但这也不起作用.我究竟做错了什么?

sqlite escaping

163
推荐指数
4
解决办法
11万
查看次数

SQLite异常在尝试选择时没有这样的列

我有以下DB帮助程序类:

public int studentExists(String studid) {
    Cursor dataCount = mDb.rawQuery("select count(*) from usertable where " + KEY_STUDID + "=" + studid, null);
    dataCount.moveToFirst();
    int count = dataCount.getInt(0);
    dataCount.close();
    return count;
}
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中使用此功能来查看之前是否已输入学生ID.

当学生ID是整数时(346742),这样可以正常工作,但每当我尝试添加字母数字ID(PB3874)时,它会强制关闭应用程序.

错误:

06-13 18:22:20.554:ERROR/AndroidRuntime(8088):android.database.sqlite.SQLiteException:没有这样的列:pb3874 :,编译时:从usertable中选择count(*)其中studid = pb3874

我不认为它是一个数据类型问题(因为我使用文本类型):

    private static final String DATABASE_CREATE =
    "create table usertable (_id integer primary key autoincrement, "
    + "studid text not null);";
Run Code Online (Sandbox Code Playgroud)

但我很困惑为什么错误说,no such column: pb3874因为我试图从studid列中简单地选择该值.以及为什么这适用于任何int值.任何人有任何解决建议的问题?

sqlite android

26
推荐指数
2
解决办法
5万
查看次数

SQLite错误:没有这样的列:

我将Ionic2与SQLite结合使用,我有以下几点:

应用程序

  private createDatabase(): void {
    let db: SQLite = new SQLite();
    db.openDatabase({
      name: "data.db",
      location: "default"
    }).then(() => {
      db.executeSql("CREATE TABLE IF NOT EXISTS chats (_id TEXT PRIMARY KEY, memberIds TEXT, title TEXT, subTitle TEXT, picture TEXT, lastMessageId TEXT, lastMessageCreatedAt DATE)", {}).then((chatData) => {
        console.log("chats TABLE CREATED: ", chatData);
        db.executeSql("CREATE TABLE IF NOT EXISTS messages (_id TEXT PRIMARY KEY, chatId TEXT, senderId TEXT, ownership TEXT, content TEXT, createdAt DATE, changeDate BOOLEAN, readByReceiver BOOLEAN)", {}).then((messageData) => {
          console.log("messages …
Run Code Online (Sandbox Code Playgroud)

sqlite ionic2 angular

1
推荐指数
1
解决办法
2267
查看次数

标签 统计

sqlite ×3

android ×1

angular ×1

escaping ×1

ionic2 ×1