Database 如何使用AdobeAir2.0加密数据库SQLite

Database 如何使用AdobeAir2.0加密数据库SQLite,database,sqlite,air,adobe,encryption,Database,Sqlite,Air,Adobe,Encryption,我只是想问一下如何使用AdobeAir2.0加密数据库。我发现了一些使用AdobeAir1.5的代码。代码如下: // Include AIRAliases.js to use air.* shortcuts var conn = new air.SQLConnection(); conn.addEventListener(air.SQLEvent.OPEN, openHandler); conn.addEventListener(air.SQLErrorEvent.ERROR, error

我只是想问一下如何使用AdobeAir2.0加密数据库。我发现了一些使用AdobeAir1.5的代码。代码如下:

// Include AIRAliases.js to use air.* shortcuts
var conn = new air.SQLConnection(); 
conn.addEventListener(air.SQLEvent.OPEN, openHandler); 
conn.addEventListener(air.SQLErrorEvent.ERROR, errorHandler); 
var dbFile = air.File.applicationStorageDirectory.resolvePath("DBSample.sqlite"); 

var encryptionKey = new air.ByteArray(); 
encryptionKey.writeUTFBytes("Some16ByteString"); // This technique is not secure! 

conn.openAsync(dbFile, air.SQLMode.CREATE, null, false, 1024, encryptionKey); 

function openHandler(event) 
{ 
    air.trace("the database opened successfully"); 
} 

function errorHandler(event) 
{ 
    if (event.error.errorID == 3138) 
    { 
        air.trace("Incorrect encryption key"); 
    } 
    else 
    { 
        air.trace("Error message:", event.error.message); 
        air.trace("Details:", event.error.details); 
    } 
}
它不起作用。它只是显示错误:air.SQLMode不是对象


有人能修好吗?感谢

您之所以看到air.*别名,是因为该示例旨在在JavaScript中使用。如果您使用的是ActionScript,则需要删除air.*别名,只需导入类即可

对于JavaScript,由于没有“import”语句,AIR团队创建了一个文件airaliases.js,为所有AIR类创建别名,这样您就不必每次使用该类时都使用完全限定的类名。

看到这些“AIR”很奇怪。尝试编写正确的导入并直接引用类名。SQLMode在flash.data中,而不是在air中。