SqlDataSource 與 DetailView 如何取得@@IDENTTY的值
想要在DetailView中新增資料,但有一個欄位是IDENTITY
此時可以在SqlDataSource中加入幾個處理
1.在INSERT字串中加入
SELECT @PK_New = @@IDENTITY
2.在執行新增前先加入一個Output的值
protected void SqlDataSourceDetail_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
SqlParameter insertedKey = new SqlParameter("@PK_New", SqlDbType.Int); insertedKey.Direction = ParameterDirection.Output;
e.Command.Parameters.Add(insertedKey);
}
3.在新增完畢後可以由e.Command取回out的值
protected void SqlDataSourceDetail_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
// 取的回傳的KEY值
e.Command.Parameters["@PK_New"].Value;
}
此時可以在SqlDataSource中加入幾個處理
1.在INSERT字串中加入
SELECT @PK_New = @@IDENTITY
2.在執行新增前先加入一個Output的值
protected void SqlDataSourceDetail_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
SqlParameter insertedKey = new SqlParameter("@PK_New", SqlDbType.Int); insertedKey.Direction = ParameterDirection.Output;
e.Command.Parameters.Add(insertedKey);
}
3.在新增完畢後可以由e.Command取回out的值
protected void SqlDataSourceDetail_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
// 取的回傳的KEY值
e.Command.Parameters["@PK_New"].Value;
}
留言