首先,如果我做了任何語法錯誤,我的母語不是英語。 這裏即時打印出數據庫中的所有客戶,併爲每個錶行添加刪除鏈接,以客戶代碼作爲參數。當點擊鏈接時,它應該刪除一行,但它會刪除所有具有相同代碼的客戶,任何想法如何刪除只有一行,即使有客戶使用相同的代碼?刪除循環中的單個表格
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