使用C# 檢索插入行的識別碼
在包含自動遞增「ID」欄位的資料庫表中,取得ID最近插入的行被證明是一項重複任務。這對於依賴 ID 的後續操作尤其重要。
在您的情況下,儘管執行了插入命令,檢索到的 ID 值始終會傳回零。這種差異是由於使用 ExecuteScalar 引起的,它會檢索命令傳回的第一行的第一列。由於沒有投影特定列,因此將檢索第一個索引處的值。然而,自動遞增的 ID 通常是在命令插入後產生的,導致 ID 列最初不包含任何內容。
要解決此問題,請考慮如下修改程式碼:
MySqlCommand comm = connect.CreateCommand(); comm.CommandText = insertStatement; // Set the insert statement comm.ExecuteNonQuery(); // Execute the command long id = comm.LastInsertedId; // Get the ID of the inserted item
關鍵的差異在於使用了 ExecuteNonQuery,它專門執行 insert 語句而不傳回值。隨後,呼叫 LastInsertedId 直接取得產生的 ID 值。
這種方法符合取得自增 ID 的要求,消除了 ExecuteScalar 遇到的問題。
以上是如何使用 C# 檢索插入行的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!