Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

如何在ADP中获取GUID字符串

时 间:2004-11-10 00:00:00
作 者:朱亦文   ID:61  城市:岳阳
摘 要:通过事务向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交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助