不再可能向 mysql 数据库添加新值?

大家好,请考虑下面的代码。我正在使用它向bookingmysql 数据库(seat_booking)中的表()添加新值。


变量包括String(id,cname,ctype,event_name)和int(seatsno)。我也在EventName()这段代码中调用了一个函数,相信我伙计们它工作得很好,我能够从另一个表(事件)派生事件名称,但唯一的问题出现在这种方法中。


伙计们,我的项目是制作一个座位预订 GUI 应用程序,所以当我用它为“管理员”模式添加新事件时,这段代码确实有效,但在这里不起作用,即,当我需要它来存储预订值时特定客户。请帮助伙计们。我真的很感激。


private void newbookbtnActionPerformed(java.awt.event.ActionEvent evt) {                                           

    // TODO add your handling code here:

    try {

        Class.forName("java.sql.Driver");

        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/seat_booking","root","<mypassword>");

        Statement stmt = con.createStatement();

        String query = "SELECT * FROM booking";

        ResultSet rs = stmt.executeQuery(query);

        String cname = tfcname.getText();

        int seatsno = Integer.parseInt(tfseatsno.getText());

        String evtname = EventName();

        String ctype = "Normal Customer"; long bookid = getID();

        String id = Long.toString(bookid); 

        String query1="insert into booking values('"+ id +"','"+ cname +"','"+ ctype +"','"+evtname+"',"+ seatsno+");";

        stmt.executeUpdate(query1);

        JOptionPane.showMessageDialog(null, "Booking successfull!");

        stmt.close();

        con.close();

    }

    catch (Exception e)

    {

        JOptionPane.showMessageDialog(null,"Error encountered while booking new event!");

    }

}                  



慕尼黑的夜晚无繁华
浏览 168回答 2
2回答

人到中年有点甜

您使用了错误的驱动程序类。正确的是:Class.forName("com.mysql.jdbc.Driver");java.sql.Driver只是一个接口。有关更多信息,请参阅javadoc顺便说一句:了解准备好的语句以防止 sqlinjection 不要抑制错误消息。至少记录它们或将其放入消息对话框中:catch (Exception e){&nbsp; &nbsp; e.printStacktrace();&nbsp; &nbsp; JOptionPane.showMessageDialog(null,"Error encountered while booking new event!"+e.getMessage());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java