node-sqlite3-API-归纳总结
SQLITE3-API-LIST:
API
1. new sqlite3.Database(filename,[mode],[callback])
返回数据库对象并且自动打开和连接数据库
它没有独立打开数据库的方法
2. sqlite3.verbose()
集成数据库的执行模式,以便于调试,它没有重置的方法。
3. Database#close([callback])
关闭和释放数据库对象
4. Database#run(sql,param,...],[callback])
运行指定参数的SQL语句,完成之后调用回调函数,它不返回任何数据,在回调函数里面有一个参数,SQL语句执行成功,则参数的值为null,反之为一个错误的对象,它返回的是数据库的操作对象。在这个回调函数里面当中的this,里面包含有lastId(插入的ID)和change(操作影响的行数,如果执行SQL语句失败,则change的值永远为0);
5. Database#get(sql,[param,...],[callback])
运行指定参数的SQL语句,完成过后调用回调函数。如果执行成功,则回调函数中的第一个参数为null,第二个参数为结果集中的第一行数据,反之则回调函数中只有一个参数,只参数为一个错误的对象。
6. Database#all(sql,[param,...],[callback])
运行指定参数的SQL语句,完成过后调用回调函数。如果执行成功,则回调函数中的第一个参数为null,第二个参数为查询的结果集,反之,则只有一个参数,且参数的值为一个错误的对象。
7. Database#prepare(sql,[param,...],[callback])
预执行绑定指定参数的SQL语句,返回一个Statement对象,如果执行成功,则回调函数的第一个参数为null,反之为一个错误的对象。
示例如下:
1 dbFactory.fn = dbFactory.prototype = { 2 fetchAll: function (sql, callback) { 3 var self = this; 4 var arr = []; 5 self._db.serialize(function () { 6 self._db.all(sql, function (err, rows) { 7 rows.forEach(function (row) { 8 arr.push(row); 9 }); 10 arr.length > 0 ? callback(null, arr) : callback(-1); 11 }); 12 13 }); 14 return arr; 15 }, 16 fetchRow: function (sql, callback) { 17 return this.fetchAll(sql + " limit 1", callback); 18 }, 19 save:function(sql,callback){ 20 var self=this; 21 //self._db.run(sql,function(){ 22 self._db.run(sql,function(){ 23 console.log(this); 24 console.log(arguments); 25 }); 26 }, 27 delete: function (sql) { 28 this._db.run(sql); 29 }, 30 update: function (sql, callback) { 31 32 }, 33 get:function(sql,callback){ 34 this._db.get(sql,function(err,row){//err->true 35 console.log(this); 36 console.log(arguments); 37 if(err){ 38 throw err; 39 } 40 }); 41 },run:function(){ 42 var self=this; 43 self._db.serialize(function() { 44 console.log("prepare"); 45 var stmt = self._db.prepare("insert into t1 values(null,?)"); 46 47 for (var i = 0; i < 10; i++) { 48 stmt.run("Ipsum " + i); 49 } 50 stmt.finalize(); 51 self._db.each("select * from t1", function(err, row) { 52 console.log(row); 53 }); 54 console.log("init"); 55 }); 56 57 } 58 };
归纳于2014年12月25日 11:26:07
EDIT BYN NICCKY
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。