Vous êtes sur la page 1sur 3

Web SQL API

O Phonegap pode criar Bases de dados no cliente que usam alguma coisa
nas bases de dados do backend. Existe duas formas bsicas de armazenar
dados no cliente, a saber sessionStorage e localStorage, a grande diferena
e que a sessionStorage apaga os dados quando se fecha o navegador e
enquanto a localStorage persiste os dados.
Muitas vezes as bases de dados localStorage variam de intervalo de 5MB a
10 MB de dados dependendo do navegador que esta sendo usado, por
questes de segurana na construo de aplicao para mobile recomendase manter o base de dados abaixo de 4 MB, o Phonegap implementou os
banco de dados web e localStorage mesmo esse sendo suportado pelo
HTML5 puto porque existem alguns dispositivos que no so suportam esse
artefacto de HTML5 para esse caso usa-se Phonegap.
Usando Objecto base de Dados
Abrindo (Criando) Base de Dados: Quando se trabalha com SQLite criarse uma base dados abrindo-a, para se abrir uma base de Dados usa-se a
seguinte funo:
Ex.:

var

minhaBase

window.openDatabase

(nome,

verso,

nomeDeAmostra, tamanho);
Legendas:

nome: nome que pretende atribuir a base de dados;


verso: Verso da Base de Dados;
nomeDeAmostra: Esse nome que vai ser mostrado;
tamanho: tamanho da base dados em bytes.
Exemplo: var minhaBase= window.openDatabase

(Fotos,1.0,Fotos BD, 1000000);


Este cdigo cria um Base de dados chamada Fotos e a atribui na varivel
minhaBase.
Correndo um Query SQL

Quando se corre o SQL o que realmente esta sendo feito e usar o objecto
SQLTransaction, este objecto contem mtodos que te permitem executar
sentenas sql na ultima Base de dados aberta.
Formato bsico de mtodo:
minhaBase.executeSql(SETENA SQL);
Exemplo: minhaBase.executeSql (SELECT * FROM Fotos);
Caso queira-se correr varias sentenas Sql pode-se criar uma Transaction
(transao).
minhaBase.transaction(popularBD, erroBD,sucessoBD);
function popularBD(tx){
tx.executeSql(CREATE TABLE IF NOT EXISTS Fotos (id unique,
dado varchar));
tx.executeSql(INSERT INTO Fotos (id, dado) VALUES (1, Foto
1));
tx.executeSql(INSERT INTO Fotos (id, dado) VALUES (2, Foto
2));
}
function erroBD(){
alert(Ocorreu um erro na Transao);
}
function sucessoBD(){
alert(Transao efectuada com sucesso);
}
Vendo o Resultado (ResultSet)

Uma das coisas que so comuns que so feitas em bases de dados e


armazenar e recuperar informao, quando se corre uma transao e
necessrio saber o que esta sendo retornado.
Assim o mtodo Transaction bem com executeSql() provem mtodos
de Callback de sucesso e de erro, e no mtodo de callback de
sucesso que ser visto o resultado retornado geralmente chamado
resultset.
O que vai ser recuperado no mtodo de callback de sucesso vem do
objecto chamado SQLResultset, que contem 3 propriedades
importantes:
insertedID: esse e o id da linha que encontra no objeto
SQLResultset (Sentena INSERT);
rowAffected: este e o nmero de linhas que foram mudadas
com a sentena sql introduzida (Sentena SELECT);
rows: este a SQLResultSetRowList representando as linhas
retornadas, podemos aceder armazenado usando o mtodo
item(ndice da linha).colunaDaBaseDados.
EXEMPLO

function queryDB(tx) {
tx.executeSql(SELECT * FROM test, [], querySuccess, errorDB);
}
function querySuccess(tx, results) {
alert(Insert ID = + results.insertId);
alert(Rows Affected = + results.rowAffected);
alert(# of rows = + results.rows.length);
}
function errorDB(err) {
alert(Error processing SQL: +err.code);
}
db.transaction(queryDB, errorDB);
Usando o objecto LocalStorage
Quando se necessita armazenar dados no modelo chave: valor, o objecto
localStorage da interface para acessar armazenamento local nesse modelo
Var minhaLocalStorage= window.localStorage;
Mtodos do objecto localStorage so:
Key: retorna o nome da chave em uma posio especfica;
getItem (chave): retorna o item identificado pela chave
setItem (chave,valor):salva o item fornecendo sua chave.
removeItem(chave): removem item identificado pela chave
clear: remove toda a combinao chave valor.
Resumo:
Tpico
Window.openDatabase()
db.transaction()
Tx.executeSql
window.localStorage.key(x)
window.localStorage.setItem(ke
y,value)
window.localStorage.getItem(ke
y)
window.localStorage.removeIte
m(key)
window.localStorage.clear()

Conceito
Abre ou cria uma base de dados
Cria uma transao
Executa uma sentena Sql
Recupera o dado armazenado na chave
Armazena localmente o valor na chave
Recupera o dado armazenado na chave
Remove o dado armazenado na chave
Limpa o localStorage

H uma Diferena entre o SQLResultSet e o SQLResultSetList

Vous aimerez peut-être aussi