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

 

你可能感兴趣的:(sqlite3)