如何将dropdownlist设置为刚刚插入的pk值?

时间:2013-11-25 14:59:34

标签: c# drop-down-menu scope-identity

在我的保存功能中,如何设置我的Dropdownlist以显示最近插入的PK?

 try{
//saving stuff where pk is inserted
con.close();
DropDownListTug.Items.Clear();
DropDownListTug.DataBind();
DropDownListTug.SelectedValue = "SCOPE_IDENTITY();"; //??? 
}

2 个答案:

答案 0 :(得分:1)

只需添加插入查询的SELECT SCOPE_IDENTITY()行,如下所示。

// Sample sql insert statement
INSERT INTO Test(TestId,Des) 
VALUES(@testId, @des);
SELECT SCOPE_IDENTITY()

然后应该使用ExecuteScalar()执行插入查询,如下所示。它将返回插入的pk值。

 Int32 newId = (Int32) myCommand.ExecuteScalar();
 DropDownListTug.SelectedValue = newId.ToString() ;

答案 1 :(得分:1)

您可以使用

  SELECT IDENT_CURRENT('Tablename')

Here

注意

在这种情况下,我认为使用SCOPE_IDENTITY()更适合 Crud 建议。

<强>更新

要更新下拉列表,您需要在page_load事件中填充dropdownList,因为我在评论中告诉您显示最近的更改并设置默认值。 当您单击按钮回看时发生回复并且您的页面重新加载并且您的代码再次绑定下拉列表(必须在page_load事件中),因此要设置dropdownlist的默认值,您需要在SelecedValue中设置它Page_load 1}}事件。