SQLite在使用參數和事務時不插入多於一行

馬格努斯·詹森

我在 Windows UWP 應用程序中使用 SQlite 有一個奇怪的現象。

我正在嘗試對事務進行批量插入,但我只在數據庫中插入了一行,或者顯示一條錯誤消息“必須為以下參數添加值:”但錯誤消息和我的所有參數中均未顯示任何參數包含有效值。

這是代碼

{
    string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, _dbName);

    using (SqliteConnection db = new SqliteConnection($"Filename={dbpath}"))
    {
        db.Open();
        using (var insertCommand = db.CreateCommand())
        {
            using (var insertTransaction = db.BeginTransaction())
            {
                insertCommand.Transaction = insertTransaction
                
                insertCommand.CommandText = $"INSERT INTO {tableName} (Id) VALUES (@Id)";

                foreach (var aktor in aktors)
                {
                    
                    insertCommand.Parameters.AddWithValue("@id", aktor.Id);
                    await insertCommand.ExecuteNonQueryAsync();
                }
                
                insertTransaction.Commit();
            }
        }
        db.Close();
    }
    return true;
}
嗶嘰

每次向現有參數添加新參數時,您的代碼中都有一個錯誤。嘗試這個

insertCommand.Parameters.AddWithValue("@id", 0);

foreach (var aktor in aktors)
{

  insertCommand.Parameters[0].Value = aktor.Id;
  // or
  insertCommand.Parameters["@id"].Value = actor.Id;

  await insertCommand.ExecuteNonQueryAsync();
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQlite3 不插入一行

路由參數不適用於 express 和 heroku

使用範圍和數組函數時如何排除第一行?

對於每一行,返回特定數字的多列索引

從數據表中刪除多於一行

如何從文件循環遍歷多行數組並將每一行分配給多個參數?

在矩阵中插入一行和一行

當“之前的距離”小於參數中給出的數字時,返回日期和時間

在 SQL 上我可以有一個基於多個參數計數的比率列嗎?

Docker 使用帶一個和兩個連字符的參數運行

Python:如何刪除其餘的重複行,同時保留基於 A 列的第一行和最後一行?

使用 python 假設庫生成 Pandas 數據框,其中一行依賴於另一行

Firebase 實時數據庫事務

關於使用 beautifulsoup 將多個值附加到一行的網頁抓取問題

使用sed插入一行

在多索引数据中插入一行

如何使用多個參數獲取計數和求和,以防萬一

如何使報告參數選擇更改另一個報告參數選擇值,同時允許對它們進行多選?

INET EnergyConsumer 模塊的參數新值在運行時永遠不會生效

將函數應用於 csv 文件中的每一行

如何使用sed在FIRST和LAST匹配模式之前插入一行

如何使用熊猫在csv文件的最后一行和特定列中插入文本?

使用游标循环、插入和提交每一行的更有效方法(Oracle)

基於 R 中的其他數據集向一個數據集添加一行

Oracle - 在表上添加約束不允許多於一行

如何在多行 PySimpleGUI 元素中打印多於一行的單詞/短語?

如何使用文本文件中的給定參數對文本文件中的每一行重複命令(Bash?)

嘗試在新類中使用另一個類的方法時,我不斷收到位置參數錯誤

如何使用存储过程仅拆分一行值并插入多列中,参数值来自C#