首页 > 代码库 > node-sqlite3-API-归纳总结

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->true35                 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

 

node-sqlite3-API-归纳总结