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

如何在 mdb 中获取 GUID 字符串

时 间:2004-11-10 00:00:00
作 者:朱亦文   ID:61  城市:岳阳
摘 要:通过事务向mdb的表中申请一个临时GUID(全球唯一识别码)值,通过撤消事务而不使该值保存,也就是通过ACCESS产生GUID,从而不需要自己写代码去实现这一目的。

正 文:

 通过事务向mdb的表中申请一个临时GUID(全球唯一识别码)值,通过撤消事务而不使该值保存,也就是通过ACCESS产生GUID,从而不需要自己写代码去实现这一目的。

 

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

 

  Dim rst As ADODB.Recordset 
  Dim cn As ADODB.Connection 
   
  Set cn = CodeProject.Connection 
   
  ' 开始数据库的事务 
  cn.BeginTrans 
   
  ' 打开一个新的记录集 
  Set rst = New ADODB.Recordset 
  With rst 
    Set .ActiveConnection = cn 
     
    ' 以键集开放锁打表 GUID 表 
    .Open "usysGUID", , 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群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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