我有一个SQL INSERT语句有问题。我试图插入存储在字符串中的数据,但是这总是会引发错误。使用变量的Android SQL INSERT语句问题
private final String HASH_DB = "hashDb";
private final String HASH_TABLE2 = "newHashes";
SQLiteDatabase hashDB = null;
hashDB = this.openOrCreateDatabase(HASH_DB, MODE_PRIVATE, null);
hashDB.execSQL("CREATE TABLE IF NOT EXISTS " + HASH_TABLE2
+ " (dialogID INT, Filename VARCHAR, Hash VARCHAR);");
hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
+ " Values (dialogID, filename, newHash);");
dialogID是一个int,和文件名,哈希都是字符串,我已确认正确的数据是通过在吐司显示它们存储在这些。
上面会抛出一个错误,但如果我将最后一行更改为下面的内容,即硬编码要插入的数据,它将起作用。
hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
+ " Values (4, 'filename', 'newHash');");
我该如何得到这个工作?
非常感谢
马特
有什么错误? – Sumit