当前位置:编程学习 > C#/ASP.NET >>

插入数据库后用select @@IDENTITY返回id时返回的是别的

用两个一个第三方论坛,想做用户同步,我这边注册,也插入到他的数据库。
当插入时返回插入的id用的select @@IDENTITY,可是返回的是两个结果

XCMD
---------
ResetVars


---------------------------------------
33

一行是XCMD返回的ResetVars 一个是想要的id,用ExecuteScalar这个方法总是返回ResetVars这个字符串而不是底下那个33,就这个库有事,别的库都不会这样啊。不明白为什么额。。用的BBSMAX。。 --------------------编程问答-------------------- 很奇怪,主键有问题吧.是int类型自增的吗 --------------------编程问答--------------------
引用 1 楼  的回复:
很奇怪,主键有问题吧.是int类型自增的吗

是啊,int的自增长的,总是返回两个结果集。。 --------------------编程问答-------------------- 有人知道为什么么。。或者该用什么方法获得那个id呢除了ExecuteScalar --------------------编程问答-------------------- 对有insert触发器表取IDENTITY值时发现的问题 --------------------编程问答--------------------
引用 4 楼  的回复:
对有insert触发器表取IDENTITY值时发现的问题


+1 --------------------编程问答--------------------
引用 4 楼  的回复:
对有insert触发器表取IDENTITY值时发现的问题

试了下,但是还是返回两个的结果集,因为都是在操作同一个表。。 --------------------编程问答-------------------- 用SELECT SCOPE_IDENTITY()代替select @@IDENTITY 试一下  --------------------编程问答--------------------
引用 7 楼  的回复:
用SELECT SCOPE_IDENTITY()代替select @@IDENTITY 试一下

试过了,在数据库里执行时还是会返回

XCMD
---------
ResetVars

这行
第二行才是想要的标示 --------------------编程问答-------------------- SELECT @@IDENTITY AS value; --------------------编程问答-------------------- SELECT @@IDENTITY AS value; --------------------编程问答--------------------
引用 4 楼  的回复:
对有insert触发器表取IDENTITY值时发现的问题
--------------------编程问答--------------------
引用 10 楼  的回复:
SELECT @@IDENTITY AS value;

这个只是在第二个结果集里的名字改成了value了额,还是有第一个结果集啊 --------------------编程问答-------------------- 还想问下,插入这个数据库的时候还有个字段是用的全局变量,
比如插入一条数据到10了,我从外部又插入到了15,可是当在用它的程序发的时候是从10开始。。这个,,我怎么去改那个计数器呢。。 --------------------编程问答-------------------- 同一个表里主键ThreadID这个字段是随时增长的,LastPostID这个字段是用的全局变量的,

dbcc checkident('[TableName]',reseed,[起始值])



这个只能使ThreadID这个主键改变起始值,LastPostID在数据库里是个int为空不能重复没有标示的字段。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,