deleteRecord(table, record, callback) 删除表数据

功能分类: Data Applab JavaScript 少儿编程

在 Applab 表数据存储里,在指定名称的 table 表里,删除一条与指定的 record 匹配的记录,并指定操作结束后异步调用的 callback 回调函数。 操作返回结果 success 将作为参数传递给回调函数。

为 APP 应用增加持久数据存储可以让你编写的程序成为一个真正的 APP 应用 - 像你平时使用的 APP 一样。我们使用的很多应用程序都是通过 “云端” 数据驱动的。通过使用这里的方法,你也可以开发一个 “云端” 数据驱动的应用。

第一次使用 Applab 表数据存储? 在这里 表数据存储 查看 Applab 表数据存储介绍以及使用方法。

传递的 record 参数必须是 javaScript object 对象变量或使用 {}: 定义的 javaScript object 对象。并且其中必须包含 id 属性(参考下面的代码示例)。一个 APP 应用只能访问在应用自己里面创建的数据。

要查看 APP 里的表数据,在 Applab 页面点击并打开 数据 页面,在页面里会显示 APP 相关的所有数据表信息,点击数据表即可查看或修改表数据。

示例代码



textInput("nameInput", "What is your name?");
textInput("ageInput", "What is your age?");
textInput("foodInput", "What is your favorite food?");
button("submitButton", "Submit");
button("deleteButton", "Delete Most Recent Record");
var mostRecentID=1;

onEvent("submitButton", "click", function() {
  var favFoodData={};
  favFoodData.name = getText("nameInput");
  favFoodData.age = getNumber("ageInput");
  favFoodData.food = getText("foodInput");
  createRecord("fav_foods", favFoodData, function(record) {
    mostRecentID=record.id;
    console.log("Record created with id:" + record.id);
    console.log("Name:" + record.name + " Age:" + record.age + " Food:" + record.food);
  });
});

onEvent("deleteButton", "click", function() {
  deleteRecord("fav_foods", {id:mostRecentID}, function(success) {
    if (success) {
      console.log("Record deleted with id:" + mostRecentID);
    }
    else {
      console.log("No record to delete with id:" + mostRecentID);
    }      
  });
});

示例代码:删除指定数据 删除 driverAge=16 的数据。


// 删除 driverAge=16 的数据
textInput("nameInput", "What is your name?");
textInput("ageInput", "What is your age?");
textInput("foodInput", "What is your favorite food?");
button("submitButton", "Submit");
button("displayButton", "Delete a New Driver");

onEvent("submitButton", "click", function() {
  var favFoodData={};
  favFoodData.name = getText("nameInput");
  favFoodData.age = getNumber("ageInput");
  favFoodData.food = getText("foodInput");
  createRecord("fav_foods", favFoodData, function(record) {
    console.log("Record created with id:" + record.id);
    console.log("Name:" + record.name + " Age:" + record.age + " Food:" + record.food);
  });
});

onEvent("displayButton", "click", function() {
    var driverAge=16;  
    readRecords("fav_foods", {age:driverAge}, function(records) {
      if (records.length>0) {
        deleteRecord("fav_foods", {id:records[0].id}, function(success) {
          if (success) {
            console.log("Record deleted with id:" + records[0].id);
          }
          else {
            console.log("No record to delete with id:" + records[0].id);
          }
        });
      }
      else {
        console.log("No records to delete");
      }      
    });
});

示例代码:搜索删除 搜索找到匹配的食物记录,并将搜索到的记录删除。


// 搜索找到匹配的食物记录,并将搜索到的记录删除
textInput("nameInput", "What is your name?");
textInput("ageInput", "What is your age?");
textInput("foodInput", "What is your favorite food?");
button("submitButton", "Submit");

onEvent("submitButton", "click", function() {
  var favFoodData={};
  favFoodData.name = getText("nameInput");
  favFoodData.age = getNumber("ageInput");
  favFoodData.food = getText("foodInput");
  createRecord("fav_foods", favFoodData, function(record) {
    console.log("Record created with id:" + record.id);
    console.log("Name:" + record.name + " Age:" + record.age + " Food:" + record.food);
  });
});

textLabel("deleteLabel", "What food do you want to delete?");
textInput("deleteInput", "");
button("delete", "Delete");
onEvent("delete", "click", function() {
  var deleteQuery = getText("deleteInput");
  readRecords("fav_foods", {food:deleteQuery}, function(records) {
    if (records.length>0) {
      deleteRecord("fav_foods", {id:records[0].id}, function(success) {
        if (success) {
          console.log("Record deleted with id:" + records[0].id);
        }
        else {
          console.log("No record to delete with id:" + records[0].id);
        }
      });
    }
    else {
      console.log("No records to delete");
    }      
  });
});


语法规则


deleteRecord(table, record, function(success){
    // 在这里编写回调函数代码
  });

参数说明

名称 类型 必需 参数描述
table string Yes 指定表存储中的表名称。
record object Yes 指定表数据中要删除记录的匹配方式。record 是一个包含匹配方式的对象,在这个对象里 id 字段是必须的,用于指定要删除记录的 id 唯一标识。参数例子:{id:recordId}, {id:1}, {id:records[0].id}
callback function Yes deleteRecord 调用完成后被异步调用执行的函数。包含执行状态的 success 参数将被传递给回调函数。

返回值

没有返回值。但在 deleteRecord() 执行并删除数据后,一个代表操作是否成功的布尔类型 success 返回值将作为参数传递给 callback 回调函数,同时异步调用并执行回调函数。

提示说明

  • deleteRecord() 有一个异步 callback 回调函数,是因为发送网络请求之后不会立刻获得请求结果。通过使用异步回调函数,主代码无需等待。请求结果返回后在这个回调函数里异步处理。
  • callback 回调函数可以是一个内联函数,也可以是在应用程序中单独定义并被 deleteRecord() 调用的函数。
  • 通常不要将包含异步调用的函数如:deleteRecord() ,放在循环里执行。因为循环里不会等异步调用结束才继续执行。
  • 通常与这些方法:createRecord()readRecords(),以及 updateRecord() 实现对表数据记录的查看、删除以及更新。

查看更多少儿编程教程、JavaScript 介绍

返回文档首页