有时,您可能需要从ASP创建GUID,例如在为首次访问您网站的用户分配唯一ID时。虽然通过调用CoCreateGUID API调用可以很容易地从VB生成新的GUID(如技巧库中的其他部分所述,请参见下文),但由于无法从VBScript调用任何Windows API,因此无法从ASP执行相同操作。
但是,如果您的网络上安装了SQL Server,则可以通过调用名为NEWID()的T-SQL函数轻松创建新的GUID。下面是一个VBScript例程,它创建一个新的GUID并将其返回给调用者:
Function CreateGUID()
Dim cn
Dim rs
Set cn = Server.CreateObject("ADODB.Connection")
' adjust the connection string if required
cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data " _
& "Source=(local)"
Set rs = cn.Execute("SELECT NEWID()")
If Not rs.EOF Then CreateGUID = rs(0)
' clean up
rs.Close
cn.Close
End Function
请注意,连接字符串不需要指向特定的数据库,并且作为参数传递给connection的Execute方法的查询字符串不必引用特定的表。当然,如果您已经打开了连接,则可以跳过创建和打开connection对象的语句。