在新增資料後立刻抓取新值的pk使用@@IDENTITY
- 2007-11-18
- 11270
- 0
有些時機我們需要在新增後立刻把新增資料的pk值去作其他應用,平常我們可能會使用再去搜尋最後或最大的pk值,這樣子雖然看不出來有啥不妥,但是還有另一種算是比較正統的作法,我們來看看吧
:前面的步驟全部省略,因為那不是我們的重點。
◆先來改一下您的Inster語句,請在原本的語句最後加上下方指令
;SELECT @PK_New = @@IDENTITY
◆新增完畢後,按一下重新整理參數後對新出現的PK_New參數按一下滑鼠左鍵,然後按右邊的顯示進接屬性
◆然後將Direction改為Output 再把Type改為Int32
修改前 | 修改後 |
◆然後在SqlDataSource的Inserted事件內利用以下code抓到新增的pk值
string aa = e.Command.Parameters["@PK_New"].Value.ToString();
♥小提醒:或許您宣告ViewState["newPK"]會比較好用@@
回應討論