当前位置: 代码迷 >> ASP.NET >> Select @NewID,该怎么解决
  详细解决方案

Select @NewID,该怎么解决

热度:7673   发布时间:2013-02-25 00:00:00.0
Select @NewID
<asp:SqlDataSource id=""runat="server" 
  ConnectionString="<>" 
  InsertCommand="INSERT INTO [表] ([字段]) VALUES 【字段】);Select @NewID=Scope_Identity();
">

主要问这个 InsertCommand分号后面Select @NewID=Scope_Identity();
写这个是要干嘛?
但是为什么执行不出来?是连着的吗?还是这么写本身是有错的?
这是别人的代码实在没看明白。请高手指教。

------解决方案--------------------------------------------------------
ID 是自增的,在增加记录后 返回新记录的ID
------解决方案--------------------------------------------------------
select scope_identity()  传回插入相同范围之识别资料行中的最后一个识别值。范围是一个模组:预存程序、触发程序、函数或批次。因此,如果两个陈述式在相同预存程序、函数或批次中,它们就在相同范围中。
  语法:
  SCOPE_IDENTITY()
  传回类型:
  numeric 
  备注:
  SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 是类似的函数,因为它们会传回插入识别资料行的值。
  IDENT_CURRENT 不受范围和工作阶段的限制;它只限于指定的资料表。IDENT_CURRENT 会传回在任何工作阶段和任何范围中,产生给特定资料表的值。如需详细资讯,请参阅<IDENT_CURRENT (Transact-SQL)>。
  SCOPE_IDENTITY 和 @@IDENTITY 会传回目前工作阶段任何资料表中所产生的最後一个识别值。不过,SCOPE_IDENTITY 会传回只在目前范围内插入的值;@@IDENTITY 不限于特定范围。

------解决方案--------------------------------------------------------
探讨
ID 是自增的,在增加记录后 返回新记录的ID

------解决方案--------------------------------------------------------
探讨
ID 是自增的,在增加记录后 返回新记录的ID

------解决方案--------------------------------------------------------
SCOPE_IDENTITY and @@IDENTITY return the last identity values that are generated in any table in the current session

在当前的session中返回最新的id
------解决方案--------------------------------------------------------
这句话意思是说,你刚插入一条,刚那条的主键赋给@NewID 

你这样写当然是没反应了,前面一是一个insert 后面只是一个赋值,都是没有返回值的撒 

InsertCommand= "INSERT INTO [表] ([字段]) VALUES 【字段】);Select Scope_Identity(); "; 

这样就OK了 


这里也回复一下,哈哈
------解决方案--------------------------------------------------------
探讨

ID 是自增的,在增加记录后 返回新记录的ID

------解决方案--------------------------------------------------------
探讨

ID 是自增的,在增加记录后 返回新记录的ID

------解决方案--------------------------------------------------------
http://blog.csdn.net/Sandy945/archive/2010/04/01/5442624.aspx
------解决方案--------------------------------------------------------
SCOPE_IDENTITY()受作用域的限制,只返回当前作用域中的最后一个IDENTITY值
------解决方案--------------------------------------------------------
探讨
这句话意思是说,你刚插入一条,刚那条的主键赋给@NewID

你这样写当然是没反应了,前面一是一个insert 后面只是一个赋值,都是没有返回值的撒

InsertCommand= "INSERT INTO [表] ([字段]) VALUES 【字段】);Select Scope_Identity(); ";

------解决方案--------------------------------------------------------
探讨
http://blog.csdn.net/Sandy945/archive/2010/04/01/5442624.aspx

------解决方案--------------------------------------------------------
<asp:SqlDataSource id=""runat="server"
ConnectionString="<>"
InsertCommand="
INSERT INTO [表] ([字段]) VALUES 【字段】);
Select @NewID=Scope_Identity();
">

这个其实没什么,其实只是两条语句而已

只是一个简单的插入语法,然后获取自增列最后返回的值,赋值给变量@NewID,

以便后面其他地方可以利用
------解决方案--------------------------------------------------------
探讨
引用:
http://blog.csdn.net/Sandy945/archive/2010/04/01/5442624.aspx


阿非,我没看明白 Select @NewID=Scope_Identity();
  相关解决方案