1
string sql = "insert into tbUsers(User_loginname,User_password,) values(";
2
sql += "'" + LogName + "'";
3
sql += ",'" + Password + "'";
4
sql += ")";
5
DataSet ds = oDB.GetDs(sql + ";select SCOPE_IDENTITY() as id");
6 string id = ds.Tables[0].Rows[0]["id"].ToString();
其中第5行的GetDs函数如下:![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6 string id = ds.Tables[0].Rows[0]["id"].ToString();
1
public DataSet GetDs(string str_Sql)
2
{
3
Open();
4
SqlDataAdapter Ada = new SqlDataAdapter(str_Sql,cn);
5
DataSet ds = new DataSet();
6
Ada.Fill(ds);
7
cn.Close();
8
return ds;
9
}
此外,SCOPE_IDENTITY功能类似的还有IDENT_CURRENT 和 @@IDENTITY,因为它们都返回插入到 IDENTITY 列中的值。 ![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。有关更多信息,请参见 IDENT_CURRENT。
SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。