0
String ans1= "Apple";

myDb.execSQL("INSERT INTO " +
               TABLE_NAME + " Values (ans1);");

它只是不这样工作..为什么?我需要一种简单的方法来做到这一点,我不想使用让像我这样的初学者感到困惑的课程,可能吗?

4

6 回答 6

4

试试这个例子:

public long insertValue(String value1, String value2) {
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_VALUE1, value1);
        initialValues.put(KEY_VALUE2, value2);

        return mDb.insert(DATABASE_TABLE, null, initialValues);
    }
于 2012-10-22T01:35:05.177 回答
4

您的插入语句应类似于

"INSERT INTO " + TABLE_NAME + " VALUES ('" + ans1 + "');"

请注意包裹 ans1 的单引号,如果要将字符串值插入 SQL 表,则应将其包裹在单引号中。

于 2012-10-22T01:39:08.237 回答
0

您正在将变量的值插入到表中,因此您必须使用"(双床)变量 ANS,如下所示,

String ans1= "Apple";

myDb.execSQL("INSERT INTO " + TABLE_NAME + " Values ( '" + ans1 + "' );");

这与您没有在".

于 2012-10-22T01:50:00.850 回答
0

值应该类似于

值(“+ans1+”);

观察 ans1 在引号内。

注意:原始 sql 语句容易受到 sql 注入攻击。

于 2012-10-22T01:32:29.843 回答
0

要将变量的 VALUE 注入 sql 语句,您需要在变量 + 变量之前结束引号 + 再次打开引号。对于字符串值,您还需要在变量周围添加单引号。

myDb.execSQL("INSERT INTO " +
           TABLE_NAME + " Values ('" + ans1 + "');");
于 2012-10-22T01:38:12.120 回答
0

对我来说,我想使用从数据库中选择最后插入 id,然后将新数据插入数据库,选择查询用于该功能

pagesClass.getLastID('users', function(err, id){var id = id}

或者您可以使用函数返回的直接 id

User.createUser = function (result){
var pagesClass = new PagesClass();
pagesClass.getLastID('users', function(err, id){
    conn.query("INSERT INTO users(id, name, email, password) VALUE('"+id+"', 'djsk"+id+"', 'yes@gmail.com"+id+"', 'bercove') ", function (err, res){
        if(err)
            result(null, err);
        else
            result(null, res);
    });
});
};

那些 id 到 name 列和 email 列显示了您如何也可以将变量添加到其他列

于 2020-03-21T23:42:43.820 回答