本文的主角是electronsqlite,但是事实上:我们也可以理解为nodesqlitesqlite这个小巧的数据库,是非常适合小型项目的使用的。大家可以了解一下。本文要介绍的是crud中的c,也就是create/insertnode + sqlite里面的函数名,和以往我们已知的数据库函数名都是不一样的。很奇怪,而且参数传递方式也是多种多样的。这个就是本文的主要内容了。

serialize()内置其他函数

大家也许会发现上述结果输出是乱序的,那么请参考db.serialize()。下面是苏南大叔改造的上述代码。

db.serialize(()=>{
  db.run("INSERT INTO demo(info) VALUES (?)","test",function(err,res){
    console.log("1:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES ((?),(?))",["test","test2"],function(err,res){
    console.log("2:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES (?,?)",["test","test2"],function(err,res){
    console.log("3:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES ($d1,$d2)",{$d1:"f1",$d2:"f2"},function(err,res){
    console.log("4:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES (?2,?1)",{1:"f1",2:"f2"},function(err,res){
    console.log("5:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES (@d1,@d2)",{"@d1":"f1","@d2":"f2"},function(err,res){
    console.log("6:",err,res,this.lastID);
  });
  db.run("INSERT INTO demo(info,info2) VALUES (:d1,:d2)",{":d1":"f1",":d2":"f2"},function(err,res){
    console.log("7:",err,res,this.lastID);
  });
});

运行结果就是顺序执行的了,ps一下:上述代码中用了es6的箭头函数语法。

苏南大叔:electron与sqlite,增删改查之insert - sqlite_insert3
electron与sqlite,增删改查之insert(图3-2)

相关链接

结论

上述不同的代码,都是可以达到数据插入目的。但是,不同姿势的函数也是不一样的使用体验,对吧?如果您对苏南大叔的sqlite的经验技巧文章感兴趣,可以点击这里查看更多文章:https://newsn.net/tag/sqlite/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   node    electron

本站的忠实读者小伙伴,正在阅读下面这些文章: