(悬赏100分)VB6.0 数据库操作问题,谁知道在存入一条记录的同时获得其ID号?
发布网友
发布时间:2022-04-14 15:20
我来回答
共4个回答
懂视网
时间:2022-04-14 19:41
保存数据时同时取出该数据的记录ID insert into Table(a,b) values(1,2) select @@identity
保存数据时同时取出该数据的记录ID
insert into Table(a,b) values(1,2) select @@identity
热心网友
时间:2022-04-14 16:49
不知道LZ使用什么数据库,如果使用Access数据库可以采用下面办法:
首先须保证获得记录集的方式支持bookmark属性,如1,3
插入一条带自动编号字段的记录后,获取该记录的bookmark属性值
temp = rs.bookmark
然后
rs.bookmark = temp
Response.write rs.Fields("ID").
如果是SQL Server数据库,那就更简单了,如果ID是自动增长的话可以通过select ##identity 语句直接获得.
如果是MySQL,直接使用LAST_INSERT_ID()函数,具体写SQL按下面格式即可:
select last_insert_id() as ID from XXXX limit 1
-----------------------------------------
注意上面所有的办法,前提是要求你的ID是真的主键,我见过很多XD写个ID纯粹是为了格式通过.还有就是,如果你的程序会有大量的并发连接,上面所有的方式都有可能失效,也就是你插入数据后,别人也插入一个数据,然后你取最后的ID,这个是必然的,主要是没有办法避免同步的问题.
热心网友
时间:2022-04-14 18:07
sql="insert into atable(a,b) values('c','d')"
SQL = "select @@identity as ID"
Rs.Open SQL, CNN, adOpenStatic, adLockReadOnly, 1
temp_id = Rs!ID
Rs.Close
temp_id就是刚刚新插入记录的id
热心网友
时间:2022-04-14 19:42
是自动获取ID吗?如果是这样的话,先把数据库里的最后一个ID读取出来加1不就行了?
Dim conn As New ADODB.Connection
Dim connstr As String
Dim sdbname As String
sdbname = App.Path + "\db\#db.mdb"
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Persist Security Info=False;" & "Data Source=" & sdbname & ";" & "Jet OLEDB:"
conn.Open connstr
Dim sql As String
sql = "Select * from title order by id desc"
Dim rs As New ADODB.Recordset
rs.Open sql, conn, 1, 1
dim id as integer
id=rs("id")+1
Dim sql2 As String
sql2 = "Select * from title order by id desc"
Dim rs2 As New ADODB.Recordset
rs2.Open sql2, conn, 1, 1
rs2.addnew
rs2("XX")=XX
rs2.update
conn.close
(悬赏100分)VB6.0 数据库操作问题,谁知道在存入一条记录的同时获得其ID...
插入一条带自动编号字段的记录后,获取该记录的bookmark属性值 temp = rs.bookmark 然后 rs.bookmark = temp Response.write rs.Fields("ID").如果是SQL Server数据库,那就更简单了,如果ID是自动增长的话可以通过select ##identity 语句直接获得.如果是MySQL,直接使用LAST_INSERT_ID()函数,具体写SQ...
VB6.0如何自动生成编号
if Adodc3.recordset.recordcount>0 Then '如果有返回记录 n = Val(Mid(Adodc3.recordset.fields("Clientid"), 8)) + 1 '你的原意应该是取后2位吧?getNewID = datetype & Format(n, "00") '与查询日期一起生成新编号 Else '如果当日还没有编号 getNewID = datetype & "01" ...
VB6.0连接SQL数据库,并读取某表格的数据出来???
Set Rst = New ADODB.Recordset '记录集对象的实例化 '二,连接数据库文件 '执行 ADODB.Connection对象的Open方法,完成数据库的连接 Conn.CursorLocation = adUseClient '连接SQL的字符串格式如下 '"Provider=SQLOLEDB.1;Password=登录SQL的密码;Persist Security Info=True;User ID=SQL数据库实例名;...
安装VB6.0时它ID号在哪啊
全是0或全是1
用VB6.0做了一个软件,分配权限如何实现
1:建一表,基本字段有3个:用户ID,密码,权限组合(这里有多种方法,基本上你用字符串表示就能满足了),如果要扩展下,再加下用户组的ID,可以通过组来分配权限,如操作系统的新建用户;2:在你的程序要用权限管理的模块或过程里,判断一下当前登录用户的权限是否许可,当然,程序运行时,你要记录...
关于VB6.0编程问题
分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述:怎样从excel表里读取全部内容然后按照表原来格式写入SQL SERVER 2000数据库中?代码怎么写?非常感谢!!!知道多少就回答多少吧 解析:1:读取。1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的...
VB6.0中如何删除access数据库中的记录
dodc1.RecordSource = "Delete * from b1 where ID='" & Text1.Text & "'"Adodc1.RecordSource = "update * from b1" 这个多余
VB6.0中怎样使用data控件实现数据库查找功能
Private Sub Command1_Click() '查找定位记录 Data1.Recordset.FindFirst "CategoryID=" & Text1.TextDBGrid1.DataSourceEnd SubPrivate Sub Form_Load() Data1.Connect = "Access 2000;" '设置数据库类型 Data1.DatabaseName = "C:\db1.MDB" '连接数据库 Data1.RecordSource...
关于VB6.0中instr函数的使用问题
当使用 Option Compare Text 对相同字符排序时,会产生下述文本排序级别:(A=a) < ( _=_) < (B=b) < (E=e) < (_=_) < (Z=z) < (_=_)Option Compare Database 只能在 Microsoft Access 中使用。当需要字符串比较时,将根据数据库的国别 ID 确定的排序级别进行比较。
关于Win8.1和Win8系统安装VB6.0时总是出现未响应问题的解决办法(派派6....
由于兼容性问题,vb6.0在Win8.1和Win8系统上安装时总是出错解决方法如下:第一步:打开安装包里的安装程序并按如下步骤安装在ID号栏输入:111-1111111,在姓名栏输入d,然后点击“下一步这里点击“是或者“否均可在这里我们点击“自定义安装在这里,单击“数据访问,然后点击“更改选项在新的窗口中,...