首页 新闻 赞助 找找看

请问在Access数据库中如何获取自增编号,并转换为long类型

0
悬赏园豆:50 [已解决问题] 解决于 2014-08-11 17:48

请问在Access数据库中如何实现 SELECT CAST(@@IDENTITY AS BIGINT) AS [Id]

功能:获取自增编号,并转换为long类型,【需要通过SQL语句实现】

sweetjian的主页 sweetjian | 菜鸟二级 | 园豆:276
提问于:2013-01-15 12:33
< >
分享
最佳答案
0

select CLng(@@identity) as id

收获园豆:50
Rich.T | 老鸟四级 |园豆:3440 | 2013-01-15 12:41

语法错误(操作符丢失)在查询表达式‘CLng(@@identity)’中

sweetjian | 园豆:276 (菜鸟二级) | 2013-01-15 12:54

@djian: 

select @@identity as id这样可以

select CLng(1)这样也可以

搞不懂

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-15 13:25

@Rich.T: 谢谢。select @@identity as id这样是可以,但是返回的是int类型,我需要返回long类型的,因为我要扩展第三方类库,而它只给了long类型的扩展接口

sweetjian | 园豆:276 (菜鸟二级) | 2013-01-15 13:58

@djian: 

返回的时候转换一下类型不行吗

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-15 14:00

@Rich.T: 可以,但是不改源码是最好的了,所以才要用sql语句来进行类型转换

sweetjian | 园豆:276 (菜鸟二级) | 2013-01-15 14:09

@djian: 

那没其他办法了,Access没办法像T-SQL那样定义变量赋值,不然就可以实现

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-15 14:11

@Rich.T:

本来想曲线救国的:

select top 1 CLng(int_id) as [Id] from (select @@identity as int_id from [MSysObjects])

[MSysObjects] 也可以换成你自己的表

但是后来发现Access里的long类型是32位的,.Net中long是64位 ,看来还是要改代码了 - -

sweetjian | 园豆:276 (菜鸟二级) | 2013-01-15 14:53
其他回答(1)
0

select top 1 CLng(int_id) as [Id] from (select @@identity as int_id from [MSysObjects])

[MSysObjects] 也可以换成你自己的表

sweetjian | 园豆:276 (菜鸟二级) | 2013-01-15 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册