下载文档

数据库模块Database
更新时间:2016-03-20

该模块包含了appcan对数据库的基础操作

appcan.database.create(name,[optId],callback)

创建一个数据库

  1. name:要创建的数据库名
  2. optId:创建数据库用的操作id,可为空
  3. callback(err,data,db,dataType,optId):数据库创建成功后的回调,如果创建过程中有错误 err不为空,否则err为空,data返回的执行结果,db是数据库创建成功后的数据库对象,可 以执行相关的操作,dataType返回结果的数据类型,optId操作Id

例如:

  1. //创建一个名字为blog数据库
  2. appcan.database.create('blog',function(err,data,db,dataType,optId){
  3. if(err){
  4. //创建过程中出错了
  5. alert('create error');
  6. return;
  7. }
  8. //db就是数据库对象
  9. if(data == 0){
  10. //数据库创建成功可以使用了
  11. }else{
  12. //数据库创建失败了
  13. }
  14. });

db.select(sql,callback):用返回的数据库对象,进行查询操作,sql要查询用的sql语句,callback查询 返回的结果回调,同样的callback(err,data,dataType,optId)第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //数据库创建成功了为对象db,然后就可以直接用db执行查询操作了,查询user表中的所有用户信息
  2. db.select('select * from user',function(err,data,dataType,optId){
  3. if(err){
  4. //如果创建过程中出错了
  5. return;
  6. }
  7. //data中的值为sql返回的内容
  8. });

db.exec(sql,callback):用返回的数据库对象,进行更新操作,sql要更新用的sql语句,callback是更新 返回的结果回调,同样的callback(err,data,dataType,optId)第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //数据库创建成功了为对象db,然后就可以直接用db执行更新操作了,删除userId为1的用户
  2. db.exec('delete from user where userId = 1 ',function(err,data,dataType,optId){
  3. if(err){
  4. //如果创建过程中出错了
  5. return;
  6. }
  7. if(data == 0){
  8. //执行成功了
  9. }else{
  10. //执行失败了
  11. }
  12. });

db.transaction(sqlFun,callback):用返回的数据库对象,进行事务操作,sqlFun要执行用的sql语句序列函数, callback是事务返回的结果回调,同样的callback(err,data,dataType,optId)第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //数据库创建成功了为对象db,然后就可以直接用db执行事务操作了,删除两个用户
  2. db.transaction({
  3. sqlFun:function(){
  4. //删除一个用户
  5. db.exec({sql:'delete from user where userId = 1',callback:function(){
  6. //do something
  7. }});
  8. //再删除一个用户
  9. db.exec({sql:'delete from user where userId = 2',callback:function(){
  10. //do something
  11. }});
  12. },
  13. callback:function(err,data,dataType,optId){
  14. if(err){
  15. //如果创建过程中出错了
  16. return;
  17. }
  18. if(data == 0){
  19. //执行成功了
  20. }else{
  21. //执行失败了
  22. }
  23. }
  24. });

appcan.database.select(name,sql,callback)

在指定的数据库上执行查询操作

  1. name:要查询的数据库名
  2. sql:要执行sql查询语句
  3. callback(err,data,dataType,optId):第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //你可以直接用静态方法来执行查询语句
  2. appcan.database.select({
  3. name:'blog',
  4. sql:'select * from user',
  5. callback:function(err,data,dataType,optId){
  6. if(err){
  7. //如果创建过程中出错了
  8. return;
  9. }
  10. //data中的值为sql返回的内容
  11. }
  12. });

appcan.database.exec(name,sql,callback)

在指定的数据库上执行更新操作

  1. name:要更新的数据库名
  2. sql:要执行sql更新语句
  3. callback(err,data,dataType,optId):第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //你可以直接用静态方法来执行更新语句
  2. appcan.database.exec({
  3. name:'blog',
  4. sql:'select * from user',
  5. callback:function(err,data,dataType,optId){
  6. if(err){
  7. //如果创建过程中出错了
  8. return;
  9. }
  10. //data中的值为sql返回的内容
  11. }
  12. });

appcan.database.transaction(name,sqlFun,callback)

在指定的数据库上执行事务操作

  1. name:要执行事务的数据库名
  2. sqlFun:要执行sql序列函数
  3. callback(err,data,dataType,optId):第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //数据库创建成功了为对象db,然后就可以直接用db执行事务操作了,删除两个用户
  2. appcan.database.transaction({
  3. name:'blog',
  4. sqlFun:function(){
  5. //删除一个用户
  6. db.exec({sql:'delete from user where userId = 1',callback:function(){
  7. //do something
  8. }});
  9. //再删除一个用户
  10. db.exec({sql:'delete from user where userId = 2',callback:function(){
  11. //do something
  12. }});
  13. },
  14. callback:function(err,data,dataType,optId){
  15. if(err){
  16. //如果创建过程中出错了
  17. return;
  18. }
  19. if(data == 0){
  20. //执行成功了
  21. }else{
  22. //执行失败了
  23. }
  24. }
  25. });

appcan.database.destory(name,[optId],callback)

销毁已经创建的数据库

  1. name:要销毁的数据库名称
  2. optId:可选,销户数据库的操作id
  3. callback(err,data,dataType,optId):第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

例如:

  1. //销毁blog数据库
  2. appcan.database.destory({
  3. name:'blog',
  4. calllback:function(err,data,dataType,optId){
  5. if(data == 0){
  6. //关闭成功
  7. }else{
  8. //关闭失败
  9. }
  10. }
  11. });