将变量插入sql值

时间:2012-10-22 01:27:48

标签: android sqlite

String ans1= "Apple";

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

它只是不起作用..为什么?我需要一个简单的方法来做到这一点,我不希望使用像我这样的初学者这样令人困惑的类,可能吗?

6 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:4)

您的插入语句应该是类似

的内容
"INSERT INTO " + TABLE_NAME + " VALUES ('" + ans1 + "');"

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

答案 2 :(得分:0)

值应该类似于

值( “+ ANS1 +”);

观察ans1是在引用内。

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

String ans1= "Apple";

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

与您在"内未使用TABLE_NAME变量相同。

答案 5 :(得分:0)

对我来说,我想使用数据库中的select方法最后插入id,然后将新数据插入数据库中,使用select查询功能

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列和email列中的ID显示了如何将变量添加到其他列中