創建唯一的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
- 2. VFP SQL預測
- 3. Php,odbc&vfp
- 4. VFP Grid with multiselect
- 5. 在VFP中保存查詢
- 6. 查看VFP 8的VFP 9中的對象_base.vcx
- 7. datepicker在網格中使用vfp 9.0
- 8. 在VFP中處理OCX錯誤(FoxPro)
- 9. VFP /禁用消息「文件不存在」
- 10. 在VFP中顯示備忘錄字段
- 11. 錯誤追加從VFP OLEDB在C#
- 12. VFP類許可證錯誤
- 13. VFP spt查詢SqlServer 2008 R2
- 14. VFP。重新創建索引
- 15. VFP六角函數C#
- 16. 分發VFP應用程序
- 17. VFP Multiline標題標籤
- 18. Android的ARMv6/v7和VFP/NEON
- 19. VFP中的XMLTOCURSOR錯誤
- 20. vfp query like command not working
- 21. VFP - Installshield嚮導中斷
- 22. 當使用VFP的ADS OLEDB時,有沒有辦法使用VFP SQL語法?
- 23. 將參數傳遞給VFP 9表格
- 24. 班級未註冊vfp網絡服務
- 25. STR()函數VFP C#相當於
- 26. 爲什麼VFP代碼ENDIF- * 9工作
- 27. VFP uniqueidentifier是否與Guid相同?
- 28. sys 2015 vfp命令的備用
- 29. USE語句中的VFP宏擴展
- 30. 創建VFP Chrome或FireFox對象