insert TableName values('22','liu') select @@Identity 这条语句为什么不返回!@
在插入一条数据之后,立即返回此条数据的ID,注意不是存储过程,而是SQL语句!!!!但是没有返回. 问题点数:0、回复次数:11Top
1 楼mgsray(我是新新新新,新来的吧)回复于 2004-11-02 10:00:05 得分 0
楼主插入的表里面没有identity列吧,所以当然没有返回值.
有idnetity列的话insert应该是这样的,insert TableName(No,name) values('22','liu')
表结构应该是create table (id int identity(1,1),No varchar(10),name varchar(10))Top
2 楼yxandyx(若有所思)回复于 2004-11-02 10:55:28 得分 0
当然有Identity列了,我在"查询分析器"中执行就会返回ID.
在程序中就不行了,我想问题出在两个SQL语句,一个是Insert 语句,一个是Select @@Identity,这样就不会返回结果,不知道是不是这样/Top
3 楼irq001()回复于 2004-11-02 11:01:20 得分 0
是不是在程序中分成两个语句写的?Top
4 楼irq001()回复于 2004-11-02 11:05:44 得分 0
应该写成一个语句块而且立即执行select @@identity才行的吧Top
5 楼mgsray(我是新新新新,新来的吧)回复于 2004-11-02 11:23:59 得分 0
原来是写在程序里面的,那应该是两个会话的问题,在查询分析器里面你可以试试开两个窗口,在一个里面insert了以后select @@identity是有值的,在另一个窗口里面直接select @@identity是null
所以你要获得的话应该要写在一个sql语句块里面,同楼上Top
6 楼ghchen()回复于 2004-11-02 16:39:42 得分 0
应该要写在一个sql语句块里面Top
7 楼yxandyx(若有所思)回复于 2004-11-03 10:09:59 得分 0
语句块是什么?Top
8 楼irq001()回复于 2004-11-03 10:28:12 得分 0
如果不存在并发情况,你可以试试返回IDENT_CURRENT('表名'),如果有并发的情况发生,你就将两个语句写在一个语句块里,
insert into ...
select @@identity
go
称为一个语句块。Top
9 楼sdhdy(大江东去...)回复于 2004-11-03 10:58:48 得分 0
set nocount on
insert TableName values('22','liu')
select @@IdentityTop
10 楼shuicaitian(水采田)回复于 2004-12-09 15:18:13 得分 0
在没有任何数据时进行无效的读取尝试。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。
====================
我是用的存储过程,
insert into ...
select @@identity as id
go
怎么也出现上述错误提示??????
C#代码
System.Data.SqlClient.SqlDataReader myReader=cm.ExecuteReader();//
Label6.Text=myReader["id"].ToString();//×就是这行提示出错!
Top
11 楼Korny(登峰)回复于 2005-01-14 13:31:49 得分 0
存储过程的值,你在C#中这样是不能返回的Top
相关问题
- 请教一sql语句,SELECT @@IDENTITY AS 'id'
- 入门问题: SQL语句中:[dbo].tablename与 dbo.tablename 有何区别?
- 简单语句:类似 select top 10 * from tablename where tag=3
- 怎么执行一个“drop table tablename”的语句
- 难题:!!SQL语句中:select * from tablename 其中tablename能否用变量实现?
- 有没有SQL语句可以控制列的IDENTITY属性的?
- 求:主键加上和去掉identity属性的语句
- 用SQL语句怎么把已存在的列加上IDENTITY(1,1)属性
- 如何通过SQL语句给表中字段新增Identity属性?
- 怎样使用SQL语句去掉自增长字段的IDENTITY属性?




