我有这个代码将数据插入mysql数据库,当我在eclipse上运行以下代码时,它没有显示任何错误,但没有数据插入到数据库中。 这是我的代码。
public static void main (String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/database_spie";
Connection conn = DriverManager.getConnection(url,"root","lecci");
Statement st = conn.createStatement();
st = conn.prepareStatement("INSERT INTO database_spie.notifiche(titolo, destinatario, testo) \r\n" +
"VALUES ('inizio', 'tutti', 'spie per una notte inizia tra 30 minuti');");
conn.close();
System.out.println("closed");
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
答案 0 :(得分:0)
您尚未执行该语句,只是创建了它然后关闭了连接。
PreparedStatement对象上有一个execute()方法。
答案 1 :(得分:0)
首先,您需要使用PreparedStatement而不是Statement。
您只创建了连接,创建了查询,然后关闭了连接
PreparedStatement st = conn.prepareStatement("INSERT INTO database_spie.notifiche(titolo, destinatario, testo) \r\n" +
"VALUES ('inizio', 'tutti', 'spie per una notte inizia tra 30 minuti');");
//在关闭连接之前,您需要使用以下代码行
执行它 st.executeUpdate();
conn.close();
您应该按照以下步骤操作:来源(https://alvinalexander.com/java/java-mysql-update-query-example)
如果您使用的是Statement,则需要执行以下操作
Statement stmt=con.createStatement();
//pass the query string to it
stmt.executeUpdate("INSERT INTO database_spie.notifiche(titolo, destinatario, testo) \r\n" +
"VALUES ('inizio', 'tutti', 'spie per una notte inizia tra 30 minuti');");