尝试获取新的行ID,我到处寻找并尝试了似乎适用于其他人的常用解决方案。我无法更改数据库,但我知道参数VersionID是使用范围标识设置的。 SP中的最后一行是return(@@ VersionID)我也尝试将它放在插入的事件
上protected void VersionDataSource_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
int returnValue = (int)e.OutputParameters;
}
然而它总是返回-1,我似乎无法获得新的行ID,我尝试使用参数Direction输出以及returnValue。完全失去了,整整一天都在这个垃圾上。
答案 0 :(得分:0)
看来Outputparameters是一本字典,我建议
int returnValue = (int)e.OutputParameters["VersionID"].Value;
答案 1 :(得分:0)
您尚未发布标记,但您应将参数定义为输出参数:
<asp:Parameter Direction="Output" Name="VersionID" Type="Int32" />
通过上述内容,您应该能够获得如下输出值:
protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
int id = Convert.ToInt32(e.Command.Parameter["VersionID"].Value);
}