Skip to content
Jayr Alencar edited this page Nov 23, 2015 · 1 revision

Para executar comandos UPDATE existem 4 caminhos que podem facilitar sua vida. Semelhante ao Insert

1 - SQL comum e síncrono

Este primeira forma é a mais básica de todas, que acontece de forma síncrona retornando true se for executado sem erro, e false se der erro durante a execução do sql.


var update= sqlite.run("UPDATE myTable SET name = 'Jayr'");

Você também pode passar os valores a serem inseridos por parâmetro em forma de array, semelhante ao prepare, veja:


var update = sqlite.run("UPDATE myTable SET name = ? ",['Jayr']);

2 - SQL comum assíncrono

Como o título diz a única diferença é a forma assíncrona usando a função runAsync e passando a função de retorno nos parâmetros, e esta função trará uma variável boolean. Veja:


sqlite.runAsync("UPDATE myTable SET name = 'Jayr'", function(ok){
   console.log(ok);
});

Você também pode passar os valores a serem inseridos por parâmetro em forma de array, semelhante ao prepare, veja:


sqlite.runAsync("UPDATE myTable SET name = ? ",['Jayr'],function(ok){
   console.log(ok)
});

3 - Apenas entidade e dados (síncrono)

Você informa só a entidade e os dados em um objeto JSON, sendo que as chaves do objeto devem ser iguais aos títulos das colunas da sua tabela no banco de dados, como terceiro parâmetro você deve passar a clausula where. veja um exemplo:


var sqlite = require('sqlite-sync');

sqlite.connect('myDatabase.db');

//Criando tabela
sqlite.run("CREATE TABLE COMPANYS(ID  INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL);");

//Alterando dados onde ID for igual a 1
var res = sqlite.update('COMPANYS',{NAME: "My Company"},{ID: 1});
console.log(res) /true or false

Simples.

4 - Apenas entidade e dados (assíncrono)

Semelhante a anterior, só que neste caso deverá ser passado uma função de retorno.


sqlite.update('COMPANYS',{NAME: "My Company"},{ID: 1},function(res){
   console.log(res) //last insert id
});

Clone this wiki locally