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變量,它是相同的"
。
數據安全性是我的氪石。在開發網絡應用程序時,它給我帶來了許多不眠之夜。在開發像這樣的本地數據庫時,我不會多加考慮。我應該更關心它嗎? –