0
我有下面的代碼,在命令創建一個SQLiteCommand
System.Data.SQLite參數
_deleteMergeWithBoth = new SQLiteCommand("delete from block where offset = ?1; delete from chunk where offset = ?1; delete from chunk where offset = ?2; update chunk set length = ?3 where offset = ?4", _db);
for (var i = 1; i <= 4; i++) _deleteMergeWithBoth.Parameters.Add(new SQLiteParameter(i.ToString(CultureInfo.InvariantCulture), DbType.Int64));
_deleteMergeWithBoth.Prepare();
佔位符(其具有4條語句)的格式爲?x,其中x爲一些數字。
該命令正常工作。但是,如果我加入中間兩條語句,以便它們變成
delete from chunk where offset in (?1,?2)
我忽然得到命令中提供的參數不足。在單個命令中使用多個語句時,我遇到了參數問題。在那種情況下,我只是在使用?作爲佔位符。這是通過使用編號參數解決的。然而,在這種情況下,我不知道我做錯了什麼。佔位符明確提到?2,我確實有一個與命令相關的名爲「2」的參數
編輯:我也嘗試使用不同格式的佔位符,例如@parametername
,因爲我認爲這可能是因爲數字。我仍然有同樣的問題