gpt4 book ai didi

java - 代号 一个存储错误值的 SQL 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:41 25 4
gpt4 key购买 nike

我习惯用 Java 开发桌面应用程序。现在我正在尝试使用 Codename One 开发我的第一个移动应用程序。

在尝试复制我在 SQL 数据库方面的经验时,我遇到了一种非常奇怪的存储行为,我无法解释。

数据库已创建,但当我更改表输入值时,新值将被忽略,只添加旧值。要保存新值,我必须删除数据库。

我喜欢这个界面,我们将不胜感激。

Database db = Display.getInstance().openOrCreate("MyDB.db");

db.execute("CREATE TABLE IF NOT EXISTS Persons (Date NOT NULL,Event NOT NULL)");




String sql = "INSERT INTO Persons (DATE , Event) " + "VALUES ( 'John', '10000.00' );";
db.execute (sql);

// adds "John" to the database every time I click the button
// then I change the from "John" to "James"
// I am not adding the lines twice, just change the input



String sql = "INSERT INTO Persons (DATE , Event) " + "VALUES ( 'James', '10000.00' );";
db.execute (sql);

//keeps adding "John" to the database, even though value has been changed to "James"




Cursor cur = db.executeQuery("select * from Persons;");
Row currentRow= cur.getRow();
String dataText = currentRow.getString(0);

while (cur.next()) {
System.out.println(dataText);
}

最佳答案

您没有在 while() 循环中将下一行提取到 dataText 中,因此您只是重复打印第一行中的文本。

应该是:

Cursor cur = db.executeQuery("select * from Persons;");
while (cur.next()) {
Row currentRow = cur.getRow();
String dataText = currentRow.getString("Date");
System.out.println(dataText);
}

如果您使用单独的查询工具(如 PhpMyAdmin)检查该表,您应该会看到它包含两行。

我希望我的语法正确。我不是 Java 程序员,我是从 tutorial 得到的.

关于java - 代号 一个存储错误值的 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895532/

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