我无法从我的数据库中删除一行。我在表格和代码中附上了一张照片。下来你可以看到我使用的方法(psmts)。我还将 id 声明为 int 。我尝试了几件事,但到目前为止还没有奏效。有什么办法可以通过插入 ID 来删除一行吗? package fereastra1;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;import java.io.*;class Fereastra1 extends JFrame implements ActionListener{JLabel l1,l2,l3,l4,l5;JTextField t1,t2,t3,t4,t5;JButton b1,b2;public Fereastra1(){ ResultSet rs; setLayout(new FlowLayout()); l1=new JLabel("titlu_film"); l2=new JLabel("an_film"); l3=new JLabel("timp_film"); l4=new JLabel("film_limba"); l5=new JLabel("ID"); t1=new JTextField(20); t2=new JTextField(10); t3=new JTextField(10); t4=new JTextField(10); t5=new JTextField(10); b1=new JButton("ADAUGA"); b2=new JButton("STERGE"); add(l1);add(t1);add(l2);add(t2); add(l3);add(t3);add(l4);add(t4);add(l5);add(t5);add(b1);add(b2); setSize(1000,400); setTitle("Conectivitate"); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); b1.addActionListener(this); b2.addActionListener(this);}public void actionPerformed(ActionEvent e){ try{ Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); Connection con=DriverManager.getConnection("jdbc:ucanaccess://D:\\Temp\\film.accdb");PreparedStatement psmt=con.prepareStatement("INSERT INTO filme (titlu_film,an_film,timp_film,film_limba) VALUES (?,?,?,?)"); //HERE I TRIED THE METHOD !!!!!!PreparedStatement psmts=con.prepareStatement("DELETE FROM filme WHERE film_id=?"); String nume,data,timp,limba; int id; nume= t1.getText(); data= t2.getText(); timp=t3.getText(); limba= t4.getText(); id=Integer.parseInt(t5.getText()); if(e.getSource()==b1) { psmt.setString(1,nume); psmt.setString(2,data); psmt.setString(3,timp); psmt.setString(4,limba); psmt.executeUpdate(); }
1 回答

慕少森
TA贡献2019条经验 获得超9个赞
我相信位置参考已关闭以进行删除?
改变:
psmts.setInt(5,id); // psmts delete parameter 5 ??
到:
psmts.setInt(1,id); // only 1 parameter in the delete prepared statement
添加回答
举报
0/150
提交
取消