ホームページ  >  記事  >  データベース  >  C# を使用して挿入された行の ID を取得する方法は?

C# を使用して挿入された行の ID を取得する方法は?

DDD
DDDオリジナル
2024-11-07 18:49:03806ブラウズ

How to Retrieve the ID of an Inserted Row using C#?

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 の使用にあります。その後、LastInsertedId を呼び出すと、生成された ID 値が直接取得されます。

このアプローチは、自動インクリメントされる ID を取得する要件と一致し、ExecuteScalar で発生する問題を解決します。

以上がC# を使用して挿入された行の ID を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。