【发布时间】:2016-07-24 17:59:42
【问题描述】:
上周我的笔记本电脑崩溃后,我决定使用 netbeans 环境,以便能够在我的台式计算机上处理我的 java 项目。
我的笔记本电脑上一切正常,我的项目运行良好(我的 java 应用程序和我的数据库之间的通信正常)。
所以我在我的台式电脑上重新安装了所有东西(使用官方教程)
- MySQL 服务器
- 用于 JAVA 的 MySQL 连接(将 jar 文件放在 ext 文件夹中)
- NetBeans 8.1
问题是我仍然可以使用我的应用程序连接到我的数据库,连接成功,但是在数据库中写入数据时,我无法使用 MySQL Workbench 或 NetBeans 中的嵌入式 SQL 查看器看到它们。 但是在应用程序中我可以访问这些数据!
尽管如此,访问数据仍然有效。 (我可以通过 MySQL Workbench 添加数据并使用我的应用访问这些数据)。
我放置了 try-catch 来捕获所有可能出现但没有出现的错误。 我没有出现任何错误(没有 SQLException)。
try {
connect.createStatement().executeUpdate("INSERT INTO COMPTE(TYPECPTE,VALINITIALE,SOLDE,NUMEROCPTE) VALUES('test',4,2,8)");
ResultSet result = connect.createStatement().executeQuery("SELECT * FROM compte WHERE NUMEROCPTE = 8");
if (result.next()) javax.swing.JOptionPane.showMessageDialog(null,"8 IS HERE - I FOUND IT");
else javax.swing.JOptionPane.showMessageDialog(null,"8 IS NOT HERE - CANT FIND IT");
} catch (SQLException e) {
e.printStackTrace();
}
此代码返回“8 IS HERE - I FOUND IT”。但是当我查看数据库时,我找不到里面有“8”的那一行。
谁能告诉我这是怎么回事?
【问题讨论】:
-
您可以在插入后添加 conn.commit 后尝试一下,看看它是否有任何不同
-
成功了。 Setautocommit 设置为 false 这就是为什么我看不到数据库中的数据。非常感谢您的回答,问题解决了!
-
能否请您投票给我的答案并发表评论谢谢
-
您通过创建语句而不关闭它来泄漏资源。
-
我无法支持您的评论我需要 15 声望...如果您找到解决方案让我投票支持您的答案,我一定会!!
标签: java mysql database jdbc netbeans