生成GUID

1. Clib.System("osql.exe -S upgscmdb02.itlab.local -d (datasource) -U (username) -P (password) -Q \"select newid()\"")

可以顺利弹出CMD窗口,但是无法通过返回值获取GUID.


2.仅限于windows平台

function GenerateGUID()
{
    //PRFT_SS_20120503_Added for bug1431 to generate GUID
    try
    {
        var sGUID = "";
        var guidDesc = new blobDescriptor();

        guidDesc.data1 = SWORD32;
        guidDesc.data2 = SWORD16;
        guidDesc.data3 = SWORD16;
        guidDesc.data4 = UWORD8;
        guidDesc.data5 = UWORD8;
        guidDesc.data6 = UWORD8;
        guidDesc.data7 = UWORD8;
        guidDesc.data8 = UWORD8;
        guidDesc.data9 = UWORD8;
        guidDesc.data10 = UWORD8;
        guidDesc.data11 = UWORD8;
        
        var guidBlob:Blob;
        // ST engine only; with the classic eScript engine use 'var guidBlob;'
        
        Blob.put(guidBlob, 0, 0, SWORD32);
        Blob.put(guidBlob, 4, 0, SWORD16);
        Blob.put(guidBlob, 6, 0, SWORD16);
        Blob.put(guidBlob, 8, 0, UWORD8);
        Blob.put(guidBlob, 9, 0, UWORD8);
        Blob.put(guidBlob, 10, 0, UWORD8);
        Blob.put(guidBlob, 11, 0, UWORD8);
        Blob.put(guidBlob, 12, 0, UWORD8);
        Blob.put(guidBlob, 13, 0, UWORD8);
        Blob.put(guidBlob, 14, 0, UWORD8);
        Blob.put(guidBlob, 15, 0, UWORD8);


             SElib.dynamicLink("OLE32.DLL", "CoCreateGuid", STDCALL, guidDesc, guidBlob);
                 
                 
             var maxchars = 120;
        var buffer = new Buffer(maxchars);
        
        // StringFromGUID2 returns a unicode string, so set our
        // receiving buffer accordingly.
        buffer.unicode = true;
        
        // Again, guidDesc is needed for describing the structure of guidBlob.
        var rtn = SElib.dynamicLink("OLE32.DLL", "StringFromGUID2", STDCALL,
            guidDesc, guidBlob, buffer.data, maxchars);
        
         sGUID = buffer.getString(120);
    }
    catch(e)
    {
        throw(e);
    }
    finally
    {
        guidDesc = null;
           buffer = null;
           guidBlob= null;
    }
    return sGUID;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值