如何在ADP中获取GUID字符串 -朱亦文
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


如何在ADP中获取GUID字符串

发表时间:2004/11/10 评论(1) 浏览(8854)  评论 | 加入收藏 | 复制
   
摘 要:通过事务向SQL Server的表中申请一个临时GUID(全球唯一识别码)值,通过撤消事务而不使该值保存,也就是通过SQL Server产生GUID,从而不需要自己写代码去实现这一目的。
正 文:
 通过事务向SQL Server的表中申请一个临时GUID(全球唯一识别码)值,通过撤消事务而不使该值保存,也就是通过SQL Server产生GUID,从而不需要自己编写复杂的代码来实现这一目的。

 


Public Function GetGUIDString() As String
' 通过 GUID 表自动产生 GUID 字符串,并借助事务消除对数据库的操作
' GUID 表:GUID 字段为:uniqueidentifier newid() RowGuid 主键
' GuidStr字段为:char(20)
' 作者:朱亦文

 

   Dim rst As ADODB.Recordset
   Dim cn As ADODB.Connection

   Set cn = CurrentProject.Connection

   ' 开始数据库的事务
   cn.BeginTrans

   ' 打开一个新的记录集
   Set rst = New ADODB.Recordset
   With rst
      Set .ActiveConnection = cn

      ' 以键集开放锁打表 GUID 表
      .Open "GUID", , adOpenKeyset, adLockOptimistic
      ' 新增记录
      .AddNew
      ' 向表中的 GuidStr 字段写入数据
      .Fields("GuidStr") = "s"
      ' 更新,此时在表中产生了一新的唯一的 GUID 值
      .Update
      ' 重新获取数据
      .Requery
      ' 返回记录中的 GUID 值并转换成字符
      GetGUIDString = StringFromGUID(.Fields("GUID"))
   End With

   ' 关闭记录集,释放 rst 对象
   Set rst = Nothing
   ' 结束事务并取消上述对数据库的操作
   cn.RollbackTrans
   ' 释放连接对象 cn
   Set cn = Nothing
   GetGUIDString = Mid(GetGUIDString, 2, Len(GetGUIDString) - 2)
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
如何在 mdb 中获取 GUID 字符串   【朱亦文  2004/11/10】
在 mdb 中获取 GUID 字符串的函数  【朱亦文  2007/11/12】
【access源码通用函数】一个生成同步复制ID的函数(即GUID...  【红尘如烟  2010/12/13】
一句VBA 生成GUID  【dbaseIIIer  2012/12/28】
获取全球唯一识别码GUID示例  【杜超-2号  2013/10/3】
常见问答
技术分类
相关资源
文章搜索
关于作者

朱亦文

文章分类

文章存档

友情链接