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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。