いつも通りです。okita です。
今回はGeneXusで新規レコードを追加したとき(Insert)に
そのレコードの主キーを取得する方法。
オートナンバーではない主キーだった場合は問題ないのですが
主キーがオートナンバーだった場合GeneXusではどうやって取得するのかをご紹介!
New を利用した場合
1 2 3 4 5 6 7 8 9 10 |
New //ID オートナンバー NAME = "主キー取得テスト" Endnew // 主キーを確認 MSG(ID) // 確定 Commit |
ビジネスコンポーネントを利用した場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
&Transaction1 = new() //&Transaction1.ID オートナンバー &Transaction1.NAME = "主キー取得テスト(BusinessComponent)" // 保存 &Transaction1.Save() If &Transaction1.Success() // 成功 MSG(&Transaction1.ID.ToString()) Commit Else // 失敗 For &Message in &Transaction1.GetMessages() MSG(&Message.Description) Endfor Rollback Endif |
上記の方法で取得することが可能です。
「New」を利用した場合は
「EndNew」の後であれば確認ができます。
「ビジネスコンポーネント」を利用した場合は
「&BusinessComponent.Save()」の後であれば確認ができます。
以上です。