2013-06-24 71 views
0

我有一个表,并且它具有设置为标识的属性之一。我想获得在向数据库输入值后生成的身份属性的值。在插入到数据库之前获取标识属性值

我有EmpTable由EmpID和EmpName组成。 EmpID被设置为标识。在将新行插入数据库之前,我想获取EmpID值。

+3

您使用哪个数据库?对于SQLServer有http://stackoverflow.com/questions/3923950/is-is-possible-to-get-new-values-for-id-identity-before-inserting-data-in-a-ta?rq= 1 – okrumnow

回答

1

确保服务器知道在哪里自动增量次数是其序列,但几乎没有什么用处,你可以用这些信息做。想象一下,你去邮局,他们发放编号票,以便他们可以为客户服务。当然,你可以问他们下一个号码是什么,但是因为任何人都可以随时走进来,所以你不知道你会得到那个号码。如果你不知道你会得到它,你无法做任何事情 - 例如,将它作为参考编号写在表单上将是一个错误。

取决于你想要做什么,你的两个主要选择是:

  1. 使用客户端生成的GUID作为标识符。这种做法弄乱了订单,所以类比并不是很好,但想象一下,如果每个进来的顾客都能产生一个他们肯定不会使用过的随机数字。他们可以使用它在填写表格之前填写表格。

  2. 取一个数字,但在与其他操作的交易中执行。客户可以拿一个号码并用它来填写一些文书工作。如果他们意识到他们把钱留在家里,他们就会把所有东西都扔掉,而你永远不会拨打他们的号码。

为什么你认为你需要这些信息?你可以使用这些策略吗?