data base
DESCRIPTION
gaggagagTRANSCRIPT
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 básicas de armazenar dados no cliente, a saber sessionStorage
e localStorage, a grande diferença 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 questões de segurança na construção
de aplicação para mobile recomenda-se 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 não são 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 criar-se uma base dados
abrindo-a, para se abrir uma base de Dados usa-se a seguinte função:
Ex.: var minhaBase = window.openDatabase (nome, versão, nomeDeAmostra, tamanho);
Legendas:
nome: nome que pretende atribuir a base de dados;
versão: Versão 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 código cria um Base de dados chamada Fotos e a atribui na variável minhaBase.
Correndo um Query SQL
Quando se corre o SQL o que realmente esta sendo feito e usar o objecto SQLTransaction, este
objecto contem métodos que te permitem executar sentenças sql na ultima Base de dados
aberta.
Formato básico de método:
minhaBase.executeSql(“SETENÇA SQL”);
Exemplo: minhaBase.executeSql (“SELECT * FROM Fotos”);
Caso queira-se correr varias sentenças Sql pode-se criar uma Transaction (transação).
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 Transação”);}function sucessoBD(){
alert(“Transação efectuada com sucesso”);}
Vendo o Resultado (ResultSet)
Uma das coisas que são comuns que são feitas em bases de dados e armazenar e recuperar informação, quando se corre uma transação e necessário saber o que esta sendo retornado.Assim o método Transaction bem com executeSql() provem métodos de Callback de sucesso e de erro, e no método de callback de sucesso que será visto o resultado retornado geralmente chamado resultset.O que vai ser recuperado no método 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 (Sentença INSERT);
rowAffected: este e o número de linhas que foram mudadas com a sentença sql introduzida (Sentença SELECT);
rows: este a SQLResultSetRowList representando as linhas retornadas, podemos aceder armazenado usando o método 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;
Métodos do objecto localStorage são: Key: retorna o nome da chave em uma posição específica; 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 combinação chave valor.
Resumo:Tópico ConceitoWindow.openDatabase() Abre ou cria uma base de dadosdb.transaction() Cria uma transaçãoTx.executeSql Executa uma sentença Sqlwindow.localStorage.key(x) Recupera o dado armazenado na chavewindow.localStorage.setItem(key,value) Armazena localmente o valor na chavewindow.localStorage.getItem(key) Recupera o dado armazenado na chavewindow.localStorage.removeItem(key) Remove o dado armazenado na chavewindow.localStorage.clear() Limpa o localStorage
Há uma Diferença entre o SQLResultSet e o SQLResultSetList