String ans1= "Apple";
myDb.execSQL("INSERT INTO " +
TABLE_NAME + " Values (ans1);");
它只是不这样工作..为什么?我需要一种简单的方法来做到这一点,我不想使用让像我这样的初学者感到困惑的课程,可能吗?
试试这个例子:
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);
}
您的插入语句应类似于
"INSERT INTO " + TABLE_NAME + " VALUES ('" + ans1 + "');"
请注意包裹 ans1 的单引号,如果要将字符串值插入 SQL 表,则应将其包裹在单引号中。
您正在将变量的值插入到表中,因此您必须使用"
(双床)变量 ANS,如下所示,
String ans1= "Apple";
myDb.execSQL("INSERT INTO " + TABLE_NAME + " Values ( '" + ans1 + "' );");
这与您没有在"
.
值应该类似于
值(“+ans1+”);
观察 ans1 在引号内。
注意:原始 sql 语句容易受到 sql 注入攻击。
要将变量的 VALUE 注入 sql 语句,您需要在变量 + 变量之前结束引号 + 再次打开引号。对于字符串值,您还需要在变量周围添加单引号。
myDb.execSQL("INSERT INTO " +
TABLE_NAME + " Values ('" + ans1 + "');");
对我来说,我想使用从数据库中选择最后插入 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 列显示了您如何也可以将变量添加到其他列