gpt4 book ai didi

javascript - 在 sqlite-phonegap-jquery mobile 中检索今天的条目

转载 作者:行者123 更新时间:2023-11-30 17:55:45 25 4
gpt4 key购买 nike

我试图确保每天只有一个条目输入到数据库中。所以我想提取今天的条目 n 如果查询有结果我想设置一个标志,这将不允许任何进一步的条目。然而,如果当天还没有条目,那么标志保持未设置 n 它将允许添加。谁能帮我查询今天的条目。是否有可以使用的sqlite内置时间戳?我还在表格中插入一个日期,如下所示:

function change()
{
var d=new Date();
var date=d.getDate();
var month=d.getMonth();
var year=d.getFullYear();
var ts = date+':'+month+':'+year;
alert(ts);
var userIP= document.getElementById("userInput").value;
db.transaction(populateDB, errorCB, successCB);
function populateDB(tx) {

tx.executeSql('CREATE TABLE IF NOT EXISTS READ (time VARCHAR PRIMARY KEY, data FLOAT NOT NULL)');
tx.executeSql('INSERT INTO READ (time, data) VALUES ("'+ts+'", "'+userIP+'")');
}
function errorCB(err) {
alert("Error processing SQL: "+err);
}

function successCB() {
alert("success!");
db.transaction(queryDB,errorCB);
}
}

当用户提交条目时调用上述函数,我想在同一函数中输入每天单次条目的验证。

注意:所有警报均用于测试目的。

最佳答案

因为你已经使用“时间”作为主键,所以你可以通过两种方式限制插入

  1. 使用忽略

    tx.executeSql('INSERT OR IGNORE INTO READ (time, data) VALUES ("'+ts+'", "'+userIP+'")');
  2. 先检索、检查再插入

    tx.executeSql("SELECT * FROM READ WHERE time = ?", [ts],
    function(tx, iResults) {
    if(iResults.rows.length <= 0) {
    db.transaction(function(tx) {
    tx.executeSql('INSERT OR IGNORE INTO READ (time, data) VALUES ("'+ts+'", "'+userIP+'")',[],
    function() {
    console.log("Inserted");
    },
    function() {
    console.log("Not Inserted");
    }
    );
    });
    }
    },
    function() {
    console.log("Not Inserted");
    }
    );

关于javascript - 在 sqlite-phonegap-jquery mobile 中检索今天的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com