創建唯一的ID,我需要創造出獨特的記錄ID在VFP基礎上郵寄資料:zip5,地址,姓氏,名字。一旦創建,關係表將被加載到具有唯一ID的SQL服務器7中。任何提示?在VFP
Q
在VFP
4
A
回答
4
您可以使用GUID:GUID entry at FoxPro Wiki。
這裏有一些examples。
一個最簡單的使用WSH ...
* VFP 7+
oGUID = CreateObject("scriptlet.typelib")
cGUID = Strextract(oGUID.GUID, "{", "}")
* Other VFP
oGUID = CreateObject("scriptlet.typelib")
cGUID = substr(oGUID.GUID, 2, 36)
2
VFP確實有唯一ID的支持 - 因爲它具有Primary Indexes(可根據多個字段 - 但要確保密鑰的長度是固定的,所以如果你的VFP表使用VARCHAR處理則需要填充字段)和表也可以有Candidate Indexes(其中索引字段(S)必須是唯一的,就像一個主鍵,但你可以爲每個表的多個候選索引)。
這些要麼就會增強對自己領域的獨特性,但基於zip5,地址生成主鍵,姓氏和名字將是低效的。 GUID的建議可以很好地工作,或者如果您有VFP8或更高版本,則可以使用Autoinc column,這與SQL Server中的Identity列類似。
順便說一句,唯一索引only used for backward compatibility ..
-1
我創建了自己的功能,爲此目的返回一個唯一的標識符。當我有新的記錄時,我只是掃描數據庫,並使用新的uid替換數據庫中的唯一標識符字段(我稱爲我的UID),如果該記錄沒有。
FUNCTION UIDgenerator()
LOCAL c_UID
LOCAL c_dump
c_UID = STRTRAN(SYS(2015),"_","") + [-]
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_UID = c_UID + STRTRAN(SYS(2015),"_","")
RETURN c_UID
endfunction() &&UIDGenerator
您不必做c_dump 3次,但我希望標識符分得更遠一些。
相關問題
- 1. VFP SQL預測
- 2. Php,odbc&vfp
- 3. 查看VFP 8的VFP 9中的對象_base.vcx
- 4. 錯誤追加從VFP OLEDB在C#
- 5. VFP /禁用消息「文件不存在」
- 6. 在VFP中顯示備忘錄字段
- 7. vfp query like command not working
- 8. Android的ARMv6/v7和VFP/NEON
- 9. 分發VFP應用程序
- 10. VFP六角函數C#
- 11. VFP中的XMLTOCURSOR錯誤
- 12. 班級未註冊vfp網絡服務
- 13. USE語句中的VFP宏擴展
- 14. STR()函數VFP C#相當於
- 15. 複製到xxxx.xls類型XLS(VFP 8.0 SP1)
- 16. VFP uniqueidentifier是否與Guid相同?
- 17. 將參數傳遞給VFP 9表格
- 18. VFP擦除命令拋出錯誤1105
- 19. 在C#代碼創建.DBF是從Excel(VFP與否)
- 20. 通過HTTPS獲取在VFP中調用Web服務的錯誤
- 21. 無法保存數據在vfp dbf thourgh php
- 22. 使用點陣打印機(LQ-1170)在vfp中緩慢打印
- 23. 在vfp報告中更改頁面之前的打印行
- 24. 如何在我的C++ Android appolication中啓用VFP或NEON支持?
- 25. 如何在VFP中創建滾動窗口9
- 26. 在SQL Server上對VFP DBF文件運行UPDATE和DELETE語句
- 27. 如何應對VFP雙指針調用C基於DLL
- 28. iPhone的ARMv6 VFP ASM延遲,吞吐量和危害
- 29. PHP到VFP。錯誤:無法將字符串轉換爲Unicode
- 30. 要求更快,更安全的web服務使用PHP和vfp