我正试图从数据库中删除一行,但得到以下错误
package prototype4;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DeleteSong extends JFrame implements ActionListener {
private Connection con;
private Statement stmt;
private ResultSet res;
JTextField songNo = new JTextField(7);
TextArea information = new TextArea(2, 50);
JButton delete = new JButton("Delete Song");
JButton update = new JButton("Update Table");
static String[] columnNames = {"trackNo", "Artist", "trackName"};
static Object[][] data = null;
static JTable table;
static DefaultTableModel modeltable = new DefaultTableModel(data, columnNames);
Font timeFont = new Font("Gill Sans MT", Font.BOLD, 15);
//object constructor which delcares the physical look of the frame including the title
public DeleteSong() {
setLayout(new BorderLayout());
setBounds(100, 100, 1000, 250); //set the size of the frame in pixels
setTitle("Delete Song"); //set the title of the frame
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JPanel top = new JPanel();
top.add(new JLabel("Enter Song Number:"));
top.add(songNo);
top.add(delete);
delete.addActionListener(this);
top.add(update);
update.addActionListener(this);
add("North", top);
JPanel middle = new JPanel(); line
middle.add(information);
add("Center", middle);
JPanel panel2 = new JPanel();
table = new JTable(modeltable);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(table);
panel2.add(scrollPane);
add("West", panel2);
setResizable(false);
setVisible(true);
setLocationRelativeTo(null);
information.setFont(timeFont);
information.setForeground(Color.BLUE);
}
public void actionPerformed(ActionEvent e) {
try {
stmt = con.createStatement();
res = stmt.executeQuery("SELECT * FROM LibraryTable");
String key = songNo.getText(); //get the song number from the songNo text field
String name = LibraryData.getName(key); //get the name of the song from the LibraryData.java(another java class)
//conditions
if (name == null) {
information.setText("No such song");
} else {
int confirm = JOptionPane.showConfirmDialog(null, "Are you sure you want to delete " + key + " " + name.toUpperCase() + " ?");
if (confirm == 0) {
LibraryData.remove(key);
stmt = con.createStatement();
String sql = "DELETE FROM LibraryTable "
+ "WHERE ID = 1";
stmt.executeUpdate(sql);
information.setText(key + "-" + name + " has been deleted and database updated!");
}
}
} catch (SQLException ex) {
Logger.getLogger(DeleteSong.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
我在AzureSQL数据库中有一个表,我想根据某些条件从其中删除选定的行,或者从Azure数据库中删除整个表。目前,我正在使用JDBC的truncate属性来截断整个表而不删除它,然后用新的数据框重写它。 但是以后我不想每次都截断和覆盖整个表,而是使用delete命令。我也无法使用下推查询来实现这一点。对此,任何帮助都将不胜感激。
我制作了一个JTable,其中填充了数据库中的数据。它从textfields中获取数据并将其添加到表和数据库中。问题是我有一个删除按钮,我让它从表本身删除选定的行(使用defaultTableModel),但它不会从实际的数据库中删除该数据。当我再次运行该程序时,删除的行再次出现在JTable中。 这可能会变得混乱,但希望有人能找出我错过了什么。帮助将会很感激,但不要,我的时间很少,不能完全大修我
我有一个jsp网页。我需要删除用户名从数据库当我按删除按钮从网页。我尝试了下面的代码,但是我不能删除名称,而是在用户名数据库中插入一个新行和一个空值。 unblockServlet.java: 受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{//TODO自动生成的方法
我需要你帮我。我想在RecyclerView中通过SwipeToDelete删除数据库中的数据。 我已经有了一个从RecycleView中删除项目的Swipe类,我可以从该列表中删除项目,但不能从数据库中删除。 我尝试在NoteAdapater(回收器适配器)中调用数据库,并使用removeItem(int-position)方法删除所需的项,如下所示: 这是Main Active代码: 删除数据
我想从数据库中删除一条特定的记录。
我是JSP的新手,我正在尝试创建一个web界面,用户可以在该界面中输入他们想要删除的信息,并且该信息将在数据库表中删除。 在这里,他们应该输入和,然后应该删除具有两个指定ID的任何数据。但是,它不是从表中删除的。我有个例外 数组索引越界 下面是我的代码: