首先,如果我做了任何语法错误,我的母语不是英语。 这里即时打印出数据库中的所有客户,并为每个表行添加删除链接,以客户代码作为参数。当点击链接时,它应该删除一行,但它会删除所有具有相同代码的客户,任何想法如何删除只有一行,即使有客户使用相同的代码?删除循环中的单个表格
for(Customers customer : customers)
{
String param = customer.getCode();
request.setAttribute("value3",param);
out.println(
"<tbody><tr> "
+ "<td>"+ customer.getFirst_name()+" "+"</td>"
+ "<td>"+ customer.getSurname()+" "+"</td>"
+ "<td>"+ customer.getCode()+" " +"</td></br>"
+ " "+"<td><a href='"+request.getContextPath()+"/Search?id="+param+"'>Delete</a></td></tr>"
);
dao.deleteCustomer(request.getParameter("id"));
}
方法delete一个:
public void deleteCustomer(String code)
{
try{
pst = getConnection().prepareStatement("delete from customer where "
+" code = '"+code +"'");
pst.executeUpdate();
}catch(Exception e)
{
throw new RuntimeException(e);
} finally {
closeResources();
}
}
模式文件:
CREATE SEQUENCE seq1 AS INTEGER START WITH 1;
CREATE TABLE customer (
id BIGINT NOT NULL PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
surname VARCHAR(255) NOT NULL,
code VARCHAR(255) NOT NULL,
);
INSERT INTO customer VALUES(NEXT VALUE FOR seq1,'Jane','Doe','123');
INSERT INTO customer VALUES(NEXT VALUE FOR seq1,'John','Doe','456');
INSERT INTO customer VALUES(NEXT VALUE FOR seq1,'Jack','Smith','789');
所以客户有没有独特的ID?你怎么能知道你没有一个唯一的ID删除哪个客户? – 2014-11-02 13:11:15
使用'限制1',您只能删除一条记录。但我认为你应该考虑@SalihErikci提出的问题。 – linuxlsx 2014-11-02 13:23:08