String ans1= "Apple";
myDb.execSQL("INSERT INTO " +
TABLE_NAME + " Values (ans1);");
它只是不这样工作..为什么?我需要一个简单的方法来做到这一点,我不想让类似我这样的初学者感到困惑的类可能吗?将变量插入sql值
String ans1= "Apple";
myDb.execSQL("INSERT INTO " +
TABLE_NAME + " Values (ans1);");
它只是不这样工作..为什么?我需要一个简单的方法来做到这一点,我不想让类似我这样的初学者感到困惑的类可能吗?将变量插入sql值
值应该是这样
值( “+ ANS1 +”);
观察ans1是内部报价。
注意:原始的sql语句很容易出现sql注入攻击。
试试这个例子:
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);
}
要注入变量的值到你所需要的变量+变量前停止报价+再次打开引号中的SQL语句。对于字符串值,您还需要在变量周围添加单引号。
myDb.execSQL("INSERT INTO " +
TABLE_NAME + " Values ('" + ans1 + "');");
你的INSERT语句应阅读像
"INSERT INTO " + TABLE_NAME + " VALUES ('" + ans1 + "');"
注意单引号那套ANS1,如果要插入一个字符串值转换成SQL表应当包装在单引号。
@Lucifer,只是有兴趣知道为什么你编辑我的答案只删除“希望帮助”。我知道Stack Overflow,并且一直很友好。 –
当然,不应该添加标签行,这就是为什么我删除它,没有别的。 – Lucifer
您在表中插入变量的值,因此你必须使用变量ANS出"
(双COTS)的,像下面,
String ans1= "Apple";
myDb.execSQL("INSERT INTO " + TABLE_NAME + " Values ('" + ans1 + "');");
如您还没有使用内部TABLE_NAME变量,它是相同的"
。
数据安全性是我的氪石。在开发网络应用程序时,它给我带来了许多不眠之夜。在开发像这样的本地数据库时,我不会多加考虑。我应该更关心它吗? –