Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net获取刚刚更新的行的主键_Vb.net - Fatal编程技术网

VB.net获取刚刚更新的行的主键

VB.net获取刚刚更新的行的主键,vb.net,Vb.net,我有一个update语句,我想知道如何获取刚刚更新的行的主键 SELECT @@identity 我试过了,但没用。 我一直得到0分 但我的update语句也可能是问题所在,因为我对它也不确定 UPDATE payment INNER JOIN booking SET hire_cost=" & cost(1) & ",additional_cost=" & cost(0) & ",total_cost=" & cost(2) & ",D

我有一个update语句,我想知道如何获取刚刚更新的行的主键

SELECT @@identity
我试过了,但没用。 我一直得到0分

但我的update语句也可能是问题所在,因为我对它也不确定

    UPDATE payment INNER JOIN booking SET hire_cost=" & cost(1) & ",additional_cost=" & cost(0) & ",total_cost=" & cost(2) & ",Deposit=" & Math.Round(cost(2) / 4) & " WHERE booking.bookingID='" & y & "' AND payment.PaymentID=booking.PaymentID

请帮忙

您需要将数据库中的列指定为标识列,以便它返回除0以外的任何内容,而不是刚刚添加或更新的内容?如果你刚刚更新了它,你应该有钥匙。您使用的是哪一个数据库?您可以发布您的代码(vb.net和/或sql)吗?当您无法知道主键时,这有利于插入。执行更新时,只需使用与更新相同的where子句执行select语句(您可以在更新之前或之后执行select,具体取决于您正在更新的内容)。