如何在Android sqlite中使用准备好的语句?

狮子789

所以我试图了解如何正确处理准备好的语句?我有这段代码,但是我不确定它是否正在使用准备好的语句或如何向其中添加准备好的语句。

代码:

/*
     * Creating a word
     */
    public long createword(DatabaseWords word) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_DICTIONARYID, word.get_dictionaryId());
        values.put(KEY_WORD1, word.get_word1());
        values.put(KEY_WORD2, word.get_word2());
        values.put(KEY_WORD3, word.get_word3());
        values.put(KEY_WORD4, word.get_word4());

        // insert row
        long word_id = db.insert(TABLE_WORDS, null, values);

        return word_id;

    }

如何包含准备好的语句以A.使其运行更快,B。防止对数据库的攻击

海浪

是的,insert()在幕后使用准备好的语句:sqlite_prepare_v2()编译SQL,然后sqlite3_bind_*()绑定的参数ContentValues这样可以防止通常的SQL注入攻击。

要使用准备好的语句来提高性能,即仅执行一次SQL编译,然后将相同的准备好的语句重新用于具有不同绑定参数的多个查询,请参见SQLiteDatabase.compileStatement()SQLiteStatement

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用准备好的语句用concat更新MySQL文本列?

我如何使用implode()在PHP中使用准备好的语句将多个整数插入IN语句中?

如何在MySQL中使用准备好的语句创建动态列?

如何使用pgx控制准备好的SQL语句中的参数类型?

如何在Cassandra中使用Datastax Java驱动程序有效地使用准备好的语句?

如何存储SQLite准备好的语句以备后用?

如何准备带有许多if语句的准备好的语句?

如何使用准备好的语句更新阵列的单个元素?

如何使用准备好的语句动态绑定参数?

如何在Sequelize中创建准备好的语句?

如何在Sqflite中为Flutter使用准备好的语句

如何使用准备好的语句选择IP地址

如何在单个php准备好的语句上同时使用SELECT和INSERT查询?

如何在多用户网站中使用准备好的陈述?

如何在sqlite准备好的语句中处理空值

如何使用sqlite_bind_text将文本正确绑定到SQLite准备好的语句

如何在使用PDO执行之前识别准备好的语句列名称

在使用准备好的语句进行查询的过程中,如何使用PHP填充数组

如何在准备好的语句中设置列表

如何在Spring JDBCTemplate中正确使用准备好的语句?

如何在PDO准备好的语句的标记参数中使用句点?

Android SQLite之类的具有多个可选条件的查询作为已准备好的语句

尝试将参数添加到android应用的sqlite准备好的语句中而失败

如何在内部 sql 语句中使用准备好的语句?

如何使用准备好的语句从 mysql 中获取多行

如何在 Django 和 Python 中使用准备好的语句查询将数据插入数据库

如何在 DO 语句中使用准备好的语句?

如何在 MySQL 准备好的语句中包含“ ”?

如何使用 datetime('now', '-1 day') 使用准备好的语句检索 sqlite3 数据库中的行?