找回密码
 加入
搜索
查看: 2350|回复: 2

[AU3基础] [已解决]Mssql数据库获取最新加入数据的ID问题

[复制链接]
发表于 2010-9-2 10:30:20 | 显示全部楼层 |阅读模式
本帖最后由 ssfnpyu 于 2010-9-3 15:02 编辑
Local $_XinZeng_FenLei_ID
         $_DuQu_Main_BaoJiaGuangLi_FenLei1 = GUICtrlRead($_Main_BaoJiaGuangLi_Combo_FenLei1)
         $_DuQu_Main_BaoJiaGuangLi_FenLei2 = GUICtrlRead($_Main_BaoJiaGuangLi_Combo_FenLei2)
         $_DuQu_Main_BaoJiaGuangLi_FenLei3 = GUICtrlRead($_Main_BaoJiaGuangLi_Combo_FenLei3)
         $_DuQu_Main_BaoJiaGuangLi_XingHao = GUICtrlRead($_Main_BaoJiaGuangLi_Input_XingHao)
         $_DuQu_Main_BaoJiaGuangLi_ChanShu = GUICtrlRead($_Main_BaoJiaGuangLi_Input_ChanShu)
         $_DuQu_Main_BaoJiaGuangLi_JiaGe = GUICtrlRead($_Main_BaoJiaGuangLi_Input_JiaGe)
         $_DuQu_Main_BaoJiaGuangLi_BeiZhu = GUICtrlRead($_Main_BaoJiaGuangLi_Input_BeiZhu)
         $_DuQu_Main_BaoJiaGuangLi_Group = GUICtrlRead($_Main_BaoJiaGuangLi_Group)
         $Rs = ObjCreate("ADODB.Recordset")
         $Rs.ActiveConnection = $ObjConn
         $Rs.Open("Insert Into _Andrew_BaoJiaGuangLi(FenLei,PeiJian,PinPai,XingHao,CanShu,BeiZhu,DengLu_ID) Values('" & _
                        "" & $_DuQu_Main_BaoJiaGuangLi_FenLei1 & "','" & $_DuQu_Main_BaoJiaGuangLi_FenLei2 & "','" & $_DuQu_Main_BaoJiaGuangLi_FenLei3 & "','" & _
                        "" & $_DuQu_Main_BaoJiaGuangLi_XingHao & "','" & $_DuQu_Main_BaoJiaGuangLi_ChanShu & "','" & _
                        "" & $_DuQu_Main_BaoJiaGuangLi_BeiZhu & "','" & $_DengLu_ZhangHao_ID & "')")
         $Rs.Open("Select SCOPE_IDENTITY()")
         If Not $Rs.Eof And Not $Rs.Bof Then $_XinZeng_FenLei_ID = $Rs.Fields(0).Value
         $Rs.Close
我用"Select SCOPE_IDENTITY()"这句语句来获取最新加入的数据的ID。。但获取出来的值是空值。。为什么呢?
如果不能加"Select SCOPE_IDENTITY()"这句语句。。那应该要怎么获取呢?
发表于 2010-9-2 15:00:49 | 显示全部楼层
本帖最后由 飞龙三少 于 2010-9-2 15:04 编辑

SCOPE_IDENTITY 是返回在当前会话中的任何表内所生成的最后一个标识值,而你的代码中是2次不同的$Rs.Open,这应该是2个不同的会话,因此换回是NULL。

你可以在MSSQL的同一SQL查询里面执行你的插入语句和Select SCOPE_IDENTITY(),会返回最后的ID

而如果你在一个SQL查询里面执行插入语句后,断开连接再重新连接或者打开一个新查询,再执行Select SCOPE_IDENTITY()时,返回的就是NULL。

你可以使用类似 SELECT MAX(ID) FROM _Andrew_BaoJiaGuangLi 的语句查询出标识列的最大值。
 楼主| 发表于 2010-9-2 15:12:57 | 显示全部楼层
也就是说我这段语句里面不能使用获取最新加入数据的ID的方式来获取ID?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 07:21 , Processed in 0.083339 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表