我無法從我的數據庫中刪除一行。我在表格和代碼中附上了一張照片。下來你可以看到我使用的方法(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
提交
取消