WEB SQL:如何搜索一个表上是否存在ID然后在另一个表上插入数据?

时间:2016-04-07 08:20:25

标签: javascript html5 web-applications web-sql

我知道不推荐使用WEB SQL,但我现在使用它作为我的初始数据库。 我的网络应用程序是一个时间记录应用程序,用户将在其中输入他/她的ID号,然后单击提交。如果ID存在,应用程序将搜索一个表(emp_info)。如果存在,则ID,日期和时间将添加到另一个表(emp_log)上。

我能够搜索第一个表(emp_info)。我的问题是我无法添加其他表(emp_log)。

以下是我在HTML中搜索的部分内容:

<form>
  <fieldset class="form-group">
    <input type="number" id="emp_id" placeholder="Enter ID Number" autofocus>
    <button  type="button" id="btn_submit" onclick="addLogs();">SUBMIT</button>
  </fieldset>
</form>

这是我的JAVASCRIPT:

if (window.openDatabase) {

  var empdb = openDatabase("etrs_db3", "0.1", "Employee Time Record System", 1024 * 1024);

  empdb.transaction(function (t) {
    t.executeSql("CREATE TABLE IF NOT EXISTS emp_info (emp_id INTEGER PRIMARY KEY ASC, emp_fname TEXT, emp_lname TEXT)");
  });

  empdb.transaction(function (t) {
    t.executeSql("CREATE TABLE IF NOT EXISTS emp_log (emp_id INTEGER PRIMARY KEY ASC, emp_date TEXT, emp_time TEXT)");
  });

} else {
  alert("WebSQL is not supported by your browser!");
}

function addLogs() {

  if (empdb) {
    var empid = document.getElementById("emp_id").value;
    // JUST MADE THIS AS SAMPLE DATE AND TIME
    var empdate = "04-01-2016";
    var emptime = "09:00 am";
    // SEE IF TEXTBOX HAS INPUT
    if (empid !== "") {
      //SEARCH
      empdb.transaction(function (t) {
        t.executeSql("SELECT * FROM emp_info WHERE emp_id=?", [empid], function (t, results) {
           var row = results.rows.length;
           if (row !== 0) {
             // ADD
             empdb.transaction(function (t) {
               t.executeSql("INSERT INTO emp_log (emp_id, emp_date, emp_time) VALUES (?, ?, ?)", [empid, empdate, emptime]);
             });
           } else {
             alert("ID number not found!");
           }
        }, null);
      });
    } else {
      alert("Pls enter your ID number.");
    }
  } else {
    alert("db not found, your browser does not support web sql!");
  }
}

0 个答案:

没有答案