由HTML浏览器数据库中的count函数返回的计数值不正确

时间:2018-07-27 16:41:32

标签: javascript html sql database

我只想计算数据库中的行数,但似乎显示了错误的值。确切地说,它总是返回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

1 个答案:

答案 0 :(得分:1)

@Entity @Table(name = "Work") public class Work implements java.io.Serializable { @Id @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0) // @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "WORK_SEQ") // @SequenceGenerator(name = "WORK_SEQ", sequenceName = "WORK_SEQ", allocationSize = 1, initialValue = 1) public BigDecimal getId() { return this.Id; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "work", cascade = CascadeType.ALL, orphanRemoval=true) public Set<ExternalReference> getExternalReferences() { return this.externalReferences; } } 更改为var countcomm = "SELECT COUNT(*) FROM Date";