我的 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);");
Run Code Online (Sandbox Code Playgroud)
dialogID 是一个 int,Filename 和 Hash 都是字符串,我已经通过在 Toast 中显示它们来确认正确的数据存储在其中。
上面抛出了一个错误,但是如果我将最后一行更改为下面的内容,即对要插入的数据进行硬编码,它就可以工作。
hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
+ " Values (4, 'filename', 'newHash');");
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
非常感谢
马特
我还没有真正使用过 Android,但是这些文件不是文件变量吗?
难道不应该吗
hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
+ " Values (" + dialogID + ", '" + filename + "', '" + newHash + "');");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5316 次 |
| 最近记录: |