使用jsp单击复选框从表和数据库中删除一行
这里,表的id是从delete按钮传递的。但我无法从数据库和表中删除该记录。代码如下:使用jsp单击复选框从表和数据库中删除一行,jsp,Jsp,这里,表的id是从delete按钮传递的。但我无法从数据库和表中删除该记录。代码如下: function deleteRow(tableID) { try { var table = document.getElementById(tableID); var rowCount = table.rows.length; for(var i=0; i<rowCount; i++) {
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null !== chkbox && true === chkbox.checked) {
table.deleteRow(i);
var did;
id=request.getParameter("check"+i);
out.println(did);
}
rowCount--;
i--;
}
}
catch(e) {
alert(e);
}
}
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/jspdatabase","root", "kca@fnpl#12");
st=con.createStatement();
st.executeUpdate("delete from table1 where id ='"+did+"'");
函数deleteRow(tableID){
试一试{
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
对于(var i=0;i查看您的代码,在我看来,您似乎从未将变量“did”设置为任何值
var did;
id=request.getParameter("check"+i);
应该是
var did;
did=request.getParameter("check"+i);
另外,您应该在函数外部(最顶部)声明var did,以便它仍然存在于函数外部。您得到的错误是什么?控件没有传递到函数deleteRow(tableID)虽然我在这里并没有提供您的解决方案,但有一点需要指出,我确信您必须使用JDBC4.0或更高版本,所以请尽量不要显式地编写Class.forName(“com.mysql.JDBC.Driver”);另一件事是使用try with resource。