| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1814 人关注过本帖
标题:吹版,在VFP中怎么使用API函数UuidCreateSequential
只看楼主 加入收藏
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
结帖率:100%
收藏
 问题点数:0 回复次数:26 
吹版,在VFP中怎么使用API函数UuidCreateSequential
UuidCreateSequential in rpcrt4.dll

如何在VFP中使用这个API
搜索更多相关主题的帖子: 函数 dll API VFP 
2023-04-12 13:34
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:112
专家分:324
注 册:2021-10-23
收藏
得分:0 
DECLARE long UuidCreateSequential in "rpcrt4.dll" string @
DECLARE long StringFromGUID2 in "ole32.dll" string,string @,long
STORE "" TO mGuid,cGuid
STORE 0 TO nRet
mGuid=REPLICATE(CHR(0),16)
cGuid=REPLICATE(CHR(0),100)
IF 0=UuidCreateSequential(@mGuid)
   nRet=StringFromGUID2(mGuid,@cGuid,LEN(cGuid)/2)
   ?STRCONV(LEFT(cGuid,nRet*2),6)
ENDIF
2023-04-12 15:56
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
谢谢!

第一行 是 API函数生成的。
第二行 是 sqlserver 中 生成的,
对比了一下,API的结果中  前面 3段 内容反了:
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2023-4-12 16:50编辑过]

2023-04-12 16:22
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
https://learn.
microsoft帮助中关于 UuidCreateSequential的说明文档里面 有个 参阅:UuidToString 这个 函数输出可以吗,结果会不会也会反的啊?
图片附件: 游客没有浏览图片的权限,请 登录注册
2023-04-12 16:48
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:112
专家分:324
注 册:2021-10-23
收藏
得分:0 
那就不是标准的guid,可以用下面试试
DECLARE long UuidCreateSequential in "rpcrt4.dll" string @ 
STORE "" TO mGuid  
mGuid=REPLICATE(CHR(0),16)
IF 0=UuidCreateSequential(@mGuid)
   ?STRCONV(mGuid,15)
ENDIF
2023-04-12 17:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
回复 3楼 easyppt
大小端问题
数据结构:
typedef GUID UUID;

typedef struct _GUID {
  unsigned long  Data1;
  unsigned short Data2;
  unsigned short Data3;
  unsigned char  Data4[8];
} GUID;

2023-04-12 18:39
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:337
专家分:493
注 册:2013-5-14
收藏
得分:0 
UuidCreateSequential函数存在隐私的问题,不适合集群环境,并且需要重新排序后再提交到数据库,UuidCreateSequential函数生成的GUID规则与SQL Server中排序的规则存在不一致,这样仍然会导致严重的IO问题,所以需要将GUID重新排序,上面有大佬给的结构,在声明变量时它一个pstr*,不是一个单纯的string。
2023-04-12 18:52
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
谢谢各位的回复!

关于隐私,源于 UUID 基于网卡MAC生成机制吗,不知道生成的UUID能不能还原出MAC ?

2023-04-13 08:23
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:337
专家分:493
注 册:2013-5-14
收藏
得分:0 
原理应该是可以还原,实际我没有这么无聊。。。好像是后8位还是在哪儿位置你百度了解一下。。。。
2023-04-13 08:27
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
另外 发现一个问题:VFP 的order by  和 SQL SERVER 的 orde by  排序规则不一样

有办法让 VFP的 order by 和 SQL SERVER 一样吗 ?

Set Collate To 试了几个 好像都不行
2023-04-13 08:29
快速回复:吹版,在VFP中怎么使用API函数UuidCreateSequential
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029582 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved