Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Sql server 如何获取SQL表的下一个自动增量值并使用它?_Sql Server_Asp.net Mvc - Fatal编程技术网

Sql server 如何获取SQL表的下一个自动增量值并使用它?

Sql server 如何获取SQL表的下一个自动增量值并使用它?,sql-server,asp.net-mvc,Sql Server,Asp.net Mvc,我已经链接了一个基本数据库,其中包含两个表:Login和Customer: Login包含(CustomerID,loginID,密码) 客户包含(客户ID,名称,上次,dob) CustomerID是这两个字段中的主键,是登录表中的自动增量值 当我想注册一个新用户时,我想首先填充登录表(它有CustomerID作为一个自动增量值) 如何从Login获取下一个自动增量值,以便在填充Customer表时使用它 我正在使用SQL Server 12。请尝试以下SQL语句: select isnu

我已经链接了一个基本数据库,其中包含两个表:Login和Customer:

  • Login
    包含(
    CustomerID
    loginID
    密码
  • 客户
    包含(
    客户ID
    名称
    上次
    dob
CustomerID
是这两个字段中的主键,是登录表中的自动增量值

当我想注册一个新用户时,我想首先填充登录表(它有
CustomerID
作为一个自动增量值)

如何从
Login
获取下一个自动增量值,以便在填充
Customer
表时使用它


我正在使用SQL Server 12。

请尝试以下SQL语句:

select isnull(MAX(CustomerID),0)+1 from Customer
SHOW TABLE STATUS LIKE 'Login_Table'

查找自动增量的值或其他详细信息尝试以下SQL语句:

SHOW TABLE STATUS LIKE 'Login_Table'

查找自动增量的值或其他详细信息

您可以在C代码中使用
Guid
,并将其设置为CustomerID(
Guid custID=new Guid();
)。
Guid
s是SQL Server中的类型
uniqueidentifier


您正在使用实体框架吗?这是一种从.NET应用程序访问SQL数据库的好方法。

您可以在C代码中使用
Guid
,并将其设置为CustomerID(
Guid custID=new Guid();
)。
Guid
s是SQL Server中的类型
uniqueidentifier


您正在使用实体框架吗?这是一种从.NET应用程序访问SQL数据库的好方法。

如果您使用的是SQL查询:

让您的InertingAtologintable函数返回一个整数,该整数是 或

如果您使用的是类似ORM的实体框架,则id将在插入数据库后设置为对象:


Login.loginID
将是调用
dbContext.SaveChanges()后插入的最后一个id

如果您使用的是sql查询:

让您的InertingAtologintable函数返回一个整数,该整数是 或

如果您使用的是类似ORM的实体框架,则id将在插入数据库后设置为对象:


Login.loginID
将是调用
dbContext.SaveChanges()后插入的最后一个id

如果您使用存储过程来处理此逻辑,那么您可以在一个事务中执行此操作,方法是从新插入的记录中获取
Scope\u Identity
值,然后使用此值插入到下一个表中

Scope\u Identity
无疑是解决此问题的方法,您将在呼叫SP的范围内获得最新的ID


如果这是一个通过实体框架的两步过程,那么请看一看

如果您使用存储过程来处理此逻辑,那么您可以在一个事务中执行此操作,方法是从新插入的记录中获取
Scope_Identity
值,然后使用此值插入到下一个表中

Scope\u Identity
无疑是解决此问题的方法,您将在呼叫SP的范围内获得最新的ID


如果这是一个通过实体框架的两步过程,那么请看一看

我在理解您的表模式时遇到了困难。你能说清楚一点吗?你是在问如何从新创建的
Login
记录中获取自动增量生成的id值,以便在其他表中使用它们吗?你用什么来访问表和数据库?实体框架?我无法理解您的表架构。你能说清楚一点吗?你是在问如何从新创建的
Login
记录中获取自动增量生成的id值,以便在其他表中使用它们吗?你用什么来访问表和数据库?实体框架?你能给我看一下整个声明吗?那是sql语句吗?@kayze是的,这是sql语句。你能给我看一下整个语句吗?这是sql语句吗?@kayze是的,这是sql语句。对不起,我不能使用guid。数据库结构对登录表使用自动增量,我不能修改它。对不起,我不能使用guid。数据库结构对登录表使用自动增量,我不能修改它