PhoneGapAPI帮助文档翻译整理13Storage 存储.docx

上传人:b****6 文档编号:8114408 上传时间:2023-01-28 格式:DOCX 页数:17 大小:18.49KB
下载 相关 举报
PhoneGapAPI帮助文档翻译整理13Storage 存储.docx_第1页
第1页 / 共17页
PhoneGapAPI帮助文档翻译整理13Storage 存储.docx_第2页
第2页 / 共17页
PhoneGapAPI帮助文档翻译整理13Storage 存储.docx_第3页
第3页 / 共17页
PhoneGapAPI帮助文档翻译整理13Storage 存储.docx_第4页
第4页 / 共17页
PhoneGapAPI帮助文档翻译整理13Storage 存储.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

PhoneGapAPI帮助文档翻译整理13Storage 存储.docx

《PhoneGapAPI帮助文档翻译整理13Storage 存储.docx》由会员分享,可在线阅读,更多相关《PhoneGapAPI帮助文档翻译整理13Storage 存储.docx(17页珍藏版)》请在冰豆网上搜索。

PhoneGapAPI帮助文档翻译整理13Storage 存储.docx

PhoneGapAPI帮助文档翻译整理13Storage存储

Storage (存储)

Methods(方法)

openDatabase(打开数据库)

返回一个新的Database对象

vardbShell=window.openDatabase(name,version,display_name,size);

说明

window.openDatabase返回一个新的Database对象

这个方法将建立一个新的SQLLite数据库,同时返回一个Database对象,可使用这个Database对象操作数据SupportedPlatforms:

支持的平台

∙Android

∙BlackBerryWebWorks(OS6.0andhigher)

∙iPhone

简单的例子

vardb=window.openDatabase("test","1.0","TestDB",1000000);

完整的例子

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http:

//www.w3.org/TR/html4/strict.dtd">

ContactExample

//WaitforPhoneGaptoload

//等待加载PhoneGap

functiononLoad(){

document.addEventListener("deviceready",onDeviceReady,false);

}

//PhoneGapisready

//PhoneGap加载完毕

functiononDeviceReady(){

vardb=window.openDatabase("test","1.0","TestDB",1000000);

}

Example

OpenDatabase

Arguments(参数)

name(数据库的名字)

数据库的名字

version(数据库版本号)

数据库版本号

display_name(数据库的显示名)

数据库的显示名.

size(数据库的大小)

以字节为单位的数据库大小

Objects(对象)

Database(数据库对象)

包含用户操作数据库的方法Methods

∙transaction:

执行数据库的事务

∙changeVersion:

此方法允许脚本对version的内容执行原子性的校验同时进行独立数据区的更新

详情:

调用window.openDatabase()后将返回一个Database对象

支持的平台

∙Android

∙BlackBerryWebWorks(OS6.0andhigher)

∙iPhone

Transaction的简单例子

functionpopulateDB(tx){

tx.executeSql('DROPTABLEDEMOIFEXISTS');

tx.executeSql('CREATETABLEIFNOTEXISTSDEMO(idunique,data)');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(1,"Firstrow")');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(2,"Secondrow")');

}

functionerrorCB(err){

alert("ErrorprocessingSQL:

"+err.code);

}

functionsuccessCB(){

alert("success!

");

}

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(populateDB,errorCB,successCB);

ChangeVersionQuickExample

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.changeVersion("1.0","1.1");

完整的例子

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http:

//www.w3.org/TR/html4/strict.dtd">

ContactExample

//WaitforPhoneGaptoload

//等待加载PhoneGap

functiononLoad(){

document.addEventListener("deviceready",onDeviceReady,false);

}

//PhoneGapisready

//PhoneGap加载完毕

functiononDeviceReady(){

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(populateDB,errorCB,successCB);

}

//Populatethedatabase

//填充数据库

functionpopulateDB(tx){

tx.executeSql('DROPTABLEDEMOIFEXISTS');

tx.executeSql('CREATETABLEIFNOTEXISTSDEMO(idunique,data)');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(1,"Firstrow")');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(2,"Secondrow")');

}

//Transactionerrorcallback

//事务执行错误后调用的回调函数

functionerrorCB(tx,err){

alert("ErrorprocessingSQL:

"+err);

}

//Transactionsuccesscallback

//事务成功执行后的回调函数

functionsuccessCB(){

alert("success!

");

}

Example

Database

Android1.X的特殊之处:

∙changeVersion:

Adroid1.X的设备不支持此方法

SQLTransaction(SQL执行对象)

包含允许用户对Database对象所代表的数据库执行SQL语句的方法

∙executeSql:

executesaSQLstatement

∙executeSql:

执行一条SQL语句

详情:

当你调用Database对象的transaction方法后,其回调函数将被调用,而SQLTransaction对象将作为参数传递给此回调函数用户可以通过调用多次executeSql来建立数据库事务处理

支持的平台

∙Android

∙BlackBerryWebWorks(OS6.0andhigher)

∙iPhone

执行SQL的简单例子

functionpopulateDB(tx){

tx.executeSql('DROPTABLEDEMOIFEXISTS');

tx.executeSql('CREATETABLEIFNOTEXISTSDEMO(idunique,data)');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(1,"Firstrow")');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(2,"Secondrow")');

}

functionerrorCB(err){

alert("ErrorprocessingSQL:

"+err);

}

functionsuccessCB(){

alert("success!

");

}

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(populateDB,errorCB,successCB);

完整的例子

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http:

//www.w3.org/TR/html4/strict.dtd">

ContactExample

//WaitforPhoneGaptoload

//等待加载PhoneGap

functiononLoad(){

document.addEventListener("deviceready",onDeviceReady,false);

}

//PhoneGapisready

//PhoneGap加载完毕

functiononDeviceReady(){

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(populateDB,errorCB,successCB);

}

//Populatethedatabase

//填充数据库

functionpopulateDB(tx){

tx.executeSql('DROPTABLEDEMOIFEXISTS');

tx.executeSql('CREATETABLEIFNOTEXISTSDEMO(idunique,data)');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(1,"Firstrow")');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(2,"Secondrow")');

}

//Transactionerrorcallback

//事务执行错误后调用的回调函数

functionerrorCB(err){

alert("ErrorprocessingSQL:

"+err);

}

//Transactionsuccesscallback

//事务成功执行后的回调函数

functionsuccessCB(){

alert("success!

");

}

Example

SQLTransaction

SQLResultSet(sql执行结果集对象)

当SQLTransaction对象的executeSql被调用,SQLResultSet对象将通过executeSql中使用的回调函数返回给用户

属性:

∙insertId:

SQLResultSet对象中的insertID表示通过SQL语句插入数据库的记录行ID(校对)

∙rowAffected:

被SQL语句修改的记录条数。

如果语句没有修改任何记录则值为0

∙rows:

SQLResultSetRowList对象包含了返回的多条记录.如果没有记录范围,则此对象为空

详情:

当你调用SQLTransaction对象的executeSql方法,SQLResultSet对象将通过executeSql中使用的回调函数返回给用户。

此结果集对象有三个属性.第一个是insertID,在通过SQL语句成功插入记录后,此属性将包含插入记录的行ID,如果SQL语句没有插入任何数据则insertId将不会被设置.第二个事rowAffected,在select操作的时候,此属性总是为0.当插入或更新语句成功执行后,此属性将包含成功插入或更新的记录条数。

最后一个属性是rows,这个属性是一个SQLResultSetList对象,在select语句执行后,这个对象中将包含select操作所返回的结果集

支持的平台

∙Android

∙BlackBerryWebWorks(OS6.0andhigher)

∙iPhone

执行SQL的简单例子

functionqueryDB(tx){

tx.executeSql('SELECT*FROMDEMO',[],querySuccess,errorCB);

}

functionquerySuccess(tx,results){

//thiswillbeemptysincenorowswereinserted.

//因为没有插入记录,所以返回结果为空

console.log("InsertID="+results.insertId);

//thiswillbe0sinceitisaselectstatement

//因为这是一条查询语句所以返回结果为0

console.log("RowsAffected="+results.rowAffected);

//thenumberofrowsreturnedbytheselectstatement

//返回查询到的记录数量

console.log("InsertID="+results.rows.length);

}

functionerrorCB(err){

alert("ErrorprocessingSQL:

"+err.code);

}

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(queryDB,errorCB);

完整的例子

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http:

//www.w3.org/TR/html4/strict.dtd">

ContactExample

//WaitforPhoneGaptoload

//等待加载PhoneGap

functiononLoad(){

document.addEventListener("deviceready",onDeviceReady,false);

}

//Populatethedatabase

//填充数据库

functionpopulateDB(tx){

tx.executeSql('DROPTABLEDEMOIFEXISTS');

tx.executeSql('CREATETABLEIFNOTEXISTSDEMO(idunique,data)');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(1,"Firstrow")');

tx.executeSql('INSERTINTODEMO(id,data)VALUES(2,"Secondrow")');

}

//Querythedatabase

//查询

functionqueryDB(tx){

tx.executeSql('SELECT*FROMDEMO',[],querySuccess,errorCB);

}

//Querythesuccesscallback

//查询成功后调用的回到函数

functionquerySuccess(tx,results){

//thiswillbeemptysincenorowswereinserted.

//因为没有插入记录,所以返回结果为空

console.log("InsertID="+results.insertId);

//thiswillbe0sinceitisaselectstatement

//因为这是一条查询语句所以返回结果为0

console.log("RowsAffected="+results.rowAffected);

//thenumberofrowsreturnedbytheselectstatement

//返回查询到的记录数量

console.log("InsertID="+results.rows.length);

}

//Transactionerrorcallback

//事务执行错误后调用的函数

functionerrorCB(err){

console.log("ErrorprocessingSQL:

"+err.code);

}

//Transactionsuccesscallback

//事务执行成功后调用的函数

functionsuccessCB(){

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(queryDB,errorCB);

}

//PhoneGapisready

//PhoneGap加载完毕

functiononDeviceReady(){

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(populateDB,errorCB,successCB);

}

Example

Database

SQLResultSetList(符合查询条件的记录集对象)

作为SQL查询所返回的SQLResultSet对象内的一个属性,其包含了所有符合条件的行Properties:

属性:

∙length:

SQL查询所返回的记录条数

方法

∙item:

根据指定的索引,用一个Javascript对象描述符合条件的记录

详情:

SQL查询语句所返回的结果集会被包含在SQLResultSetList中.这个对象包含了一个长度属性以便让用户知道有多少符合条件的记录被返回.如果要从总获取某条数据,你可以使用item方法,并通过指定索引来获得这条记录。

item方法将返回一个JavaScript对象,这个对象的属性就是你对数据库执行select操作中所指定的字段。

支持的平台

∙Android

∙BlackBerryWebWorks(OS6.0andhigher)

∙iPhone

执行SQL的简单例子

functionqueryDB(tx){

tx.executeSql('SELECT*FROMDEMO',[],querySuccess,errorCB);

}

functionquerySuccess(tx,results){

varlen=results.rows.length;

console.log("DEMOtable:

"+len+"rowsfound.");

for(vari=0;i

console.log("Row="+i+"ID="+results.rows.item(i).id+"Data="+results.rows.item(i).data);

}

}

functionerrorCB(err){

alert("ErrorprocessingSQL:

"+err.code);

}

vardb=window.openDatabase("Database","1.0","PhoneGapDemo",200000);

db.transaction(qu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1