Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jsp单击复选框从表和数据库中删除一行_Jsp - Fatal编程技术网

使用jsp单击复选框从表和数据库中删除一行

使用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++) {

这里,表的id是从delete按钮传递的。但我无法从数据库和表中删除该记录。代码如下:

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。