【问题标题】:Incorrect count value returned by the count function from the HTML browser databaseHTML 浏览器数据库中的 count 函数返回的计数值不正确
【发布时间】:2018-07-27 16:41:32
【问题描述】:

我只想计算数据库中的行数,但它似乎显示了错误的值。准确地说,它总是返回 1。
HTML 代码:

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
</head>
<body>
    <input type="date" id="dt">
    <input type="button" id="submit" value="INSERT DATE">
    <input type="button" id="count" value="count">
</body>
<script type="text/javascript" src="js/index.js"></script>
</html>

还有 JavaScript:

var db = openDatabase("Dates", "1.0", "Test Dates", 200000);     
var createStatement = "CREATE TABLE IF NOT EXISTS Date (sampledate DATE)";    
var insertStatement = "INSERT INTO Date (sampledate) VALUES (?)";    
var countcomm = "SELECT COUNT(*) FROM Date";    
var dataset;    

db.transaction(function(xd)
          {
    xd.executeSql(createStatement, []);
});

$(document).ready(function()  
{
    $("body").fadeIn(2000);
    $("#submit").click(insertdate);
    $("#count").click(countdates);
});

function countdates()
{
db.transaction(function(xd)
              {
                xd.executeSql(countcomm, [], function (xd, result) {
                dataset = result.rows;
                alert(dataset.length);
        });
    });
}

function insertdate()
{
    var datetemp = $("#dt").val();
    db.transaction(function(xd)
              {
        xd.executeSql(insertStatement, [datetemp])
    })
    alert("SUCCESS");
}

OUTPUT

正如您在警报中看到的,它显示的计数值为 1,而由于数据库中有 5 行,因此预计显示为 5

【问题讨论】:

  • 您需要查看行中的值。任何没有group bycount() 查询总是会返回一行。

标签: javascript html sql database


【解决方案1】:

var countcomm = "SELECT COUNT(*) FROM Date"; 更改为var countcomm = "SELECT * FROM Date";

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多