Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
Java 再次调用同一页不会向数据库添加数据_Java_Mysql_Jsp_Javabeans - Fatal编程技术网

Java 再次调用同一页不会向数据库添加数据

Java 再次调用同一页不会向数据库添加数据,java,mysql,jsp,javabeans,Java,Mysql,Jsp,Javabeans,我有一个jsp页面,它获取两个参数1,用于添加另一个参数以供查看。此jsp页面名为sucesadmin.jsp。我有另一个jsp页面admin1.jsp,它调用sucesadmin.jsp。jsp有一个表单视图和add.jsp,因此如果我按下view按钮,它将调用sucesadmin.jsp并显示数据。当我按下add按钮时,它会显示一个表单来输入数据,但不会向mysql数据库添加值。当我再次调用同一页时,它不会添加数据。请告诉我哪里有错误 这是豆子 package sucessAdmin; im

我有一个jsp页面,它获取两个参数1,用于添加另一个参数以供查看。此jsp页面名为sucesadmin.jsp。我有另一个jsp页面admin1.jsp,它调用sucesadmin.jsp。jsp有一个表单视图和add.jsp,因此如果我按下view按钮,它将调用sucesadmin.jsp并显示数据。当我按下add按钮时,它会显示一个表单来输入数据,但不会向mysql数据库添加值。当我再次调用同一页时,它不会添加数据。请告诉我哪里有错误

这是豆子

package sucessAdmin;
import java.sql.*;
import java.io.*;
import java.util.*;
public class sucessAdmin {
private String question;
private String answer;

private String questionNo;
private String opt1;
private String opt2;
private String opt3;
private String opt4;
public sucessAdmin()
{

}

public void setQuestion(String question)
{
    this.question=question;
}
public String getQuestion()
{
    return question;
}
public void setAnswer(String answer)
{
    this.answer=answer;
}
public String getAnswer()
{
    return answer;
}
public void setQuestionNo(String questionNo)
{
    this.questionNo=questionNo;
}
public String getQuestionNo()
{
    return questionNo;
}
public void setOpt1(String opt1)
{
this.opt1=opt1;
}
public String getOpt1()
{
    return opt1;
}
public void setOpt2(String opt2)
{
this.opt2=opt2;
}
public String getOpt2()
{
    return opt2;
}
public void setOpt3(String opt3)
{
this.opt3=opt3;
}
public String getOpt3()
{
    return opt3;
}
public void setOpt4(String opt4)
{
this.opt4=opt4;
}
public String getOpt4()
{
    return opt4;
}

    public Vector getDetails()
    {
        int x=0;
        Vector v= new Vector();
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/Ontest";
            Connection con=DriverManager.getConnection(url,"root","spanwave");
            ResultSet rs=null;
            Statement st=con.createStatement();
            rs=st.executeQuery("select * from questions");
            String quer="SELECT * FROM questions";

                     rs=st.executeQuery(quer);
                    ResultSetMetaData rsmd = rs.getMetaData();
                    int NumOfCol=0;
                    NumOfCol=rsmd.getColumnCount();
                    System.out.println("Query Executed!! No of Colm="+NumOfCol);
            while(rs.next())
            {

                for(int i=1;i<NumOfCol+1;i++)
                {
                    if(i==NumOfCol)
                        {System.out.print(rs.getString(i));System.out.println();}else
                System.out.print(rs.getString(i)+" ");
                    v.addElement(rs.getString(i));
                }


            }

        }
        catch(Exception e)
        {
            System.out.println(e);
        }
        return v;
    }
    public void addDetails(String question,String opt1,String opt2,String opt3,String opt4,String questionNo,String answer)
    //public void addDetails()
    {
        int qnNo=0;

        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/Ontest";
            Connection con=DriverManager.getConnection(url,"root","spanwave");
            ResultSet rs=null;
            qnNo=Integer.parseInt(questionNo);
            PreparedStatement ptst=con.prepareStatement("insert into questions values(?,?,?,?,?,?,?)");
ptst.setString(1,question );
ptst.setString(2,opt1 );
ptst.setString(3,opt2 );
ptst.setString(4,opt3 );
ptst.setString(5,opt4 );
ptst.setInt(6, qnNo);
ptst.setString(7,answer);
ptst.executeUpdate();

                    int NumOfCol=0;
                    System.out.println("Query Executed!! No of Colm="+NumOfCol);

    }
        catch(Exception e)
        {
            System.out.println(e);
        }


}
}
包成功管理;
导入java.sql.*;
导入java.io.*;
导入java.util.*;
公共类sucesadmin{
私有字符串问题;
私有字符串应答;
私人字符串问号;
私有字符串opt1;
私有字符串opt2;
私有字符串opt3;
私有字符串opt4;
公共成功管理()
{
}
公共问题(字符串问题)
{
这个问题=问题;
}
公共字符串getQuestion()
{
返回问题;
}
公共无效设置应答(字符串应答)
{
这个答案=答案;
}
公共字符串getAnswer()
{
返回答案;
}
public void setQuestionNo(字符串questionNo)
{
这个。问号=问号;
}
公共字符串getQuestionNo()
{
返回问题编号;
}
公共void setOpt1(字符串opt1)
{
这个。opt1=opt1;
}
公共字符串getOpt1()
{
返回opt1;
}
公共void setOpt2(字符串opt2)
{
这个。opt2=opt2;
}
公共字符串getOpt2()
{
返回opt2;
}
公共void setOpt3(字符串opt3)
{
这个。opt3=opt3;
}
公共字符串getOpt3()
{
返回opt3;
}
公共void setOpt4(字符串opt4)
{
这个。opt4=opt4;
}
公共字符串getOpt4()
{
返回opt4;
}
公共向量getDetails()
{
int x=0;
向量v=新向量();
尝试
{
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/Ontest";
Connection con=DriverManager.getConnection(url,“根”,“spanwave”);
结果集rs=null;
语句st=con.createStatement();
rs=st.executeQuery(“从问题中选择*);
String query=“从问题中选择*”;
rs=标准执行机构(quer);
ResultSetMetaData rsmd=rs.getMetaData();
int numocol=0;
numocol=rsmd.getColumnCount();
System.out.println(“已执行查询!!Colm的编号=“+numocol”);
while(rs.next())
{
对于(int i=1;i
replace



试试这个,希望它能起作用。

好吧,在PHP中,我只需在$\u session[]中的会话数据中添加一个标志-您是否有类似的设置?或者您是否可以在第二次表单中添加一个隐藏字段作为这样的标志?或者,在第二次生成表单时,将所有输入字段标记为只读…您是否检查了连接的自动提交设置?例如,请参阅。@collapsar的答案。实际上,我对上述问题感到抱歉n、 我没有得到所需的输出,因为它将被捕获,并且我没有显示任何要显示的内容。现在,当我检查时,我发现并解决了错误。但我需要您的另一个帮助。我在mysql表中没有字段,它是INT类型。现在告诉我如何在那里添加数据。因为从表单中,我可以将数据作为字符串,我可以我已经将它转换为INT,但是它仍然没有添加到表中。谢谢你的建议,但是它不会运行,因为我正在使用bean,并且我发布的代码在addDetails页面中有参数,只是为了测试
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<jsp:useBean id="admin" scope="request" class="admin.adminBean">
<jsp:getProperty property="userId" name ="admin"/>
</jsp:useBean>
<jsp:useBean id="sucessAdmin" scope ="request" class="sucessAdmin.sucessAdmin"></jsp:useBean>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title><jsp:getProperty property="userId" name ="admin"/></title>
</head>
<body bgcolor="pink">
<form action="details.jsp" method="get">
view questions<input type="radio" name="details" value="view"><br>
edit questions
<input type="radio" name="details" value="edit"><br>
add questions

<input type="radio" name="details" value="add"><br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><jsp:useBean id="sucessAdmin" scope ="request" class="sucessAdmin.sucessAdmin">

</jsp:useBean>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Details</title>
</head>
<body>

<%String input; %>
<%=input=request.getParameter("details") %>
<%if (input.equals("view")) {
    %><%Vector v; %>
    <%v=(Vector)sucessAdmin.getDetails();
out.println(sucessAdmin.getDetails()); }
%><%
if(input.equals("add"))
    {out.println("addds");
    %>
    <form method="POST" action="details.jsp">
<table>
<tr>
<td>question<input type="text" name="question" value="" /></td>
</tr>
<tr>
<td>opt1<input type="text" name="opt1" value="" /></td>
</tr>
<tr>
<td>opt2<input type="text" name="opt2" value="" /></td>
</tr>
<tr>
<td>opt3<input type="text" name="opt3" value="" /></td>
</tr>


<tr>
<td>opt4<input type="text" name="opt4" value="" /></td>
</tr>
<tr>
<td>questionNumber<input type="text" name="questionNo" value="" /></td>
</tr>
<tr>
<td>answer<input type="text" name="answer" value="" /></td>
</tr>




</table><br><input type="hidden" name="details"/>
<br><input type="submit" name="submit" value="submit"/>
<%sucessAdmin.addDetails("question","opt1","opt2","opt3","opt4","questionNo","answer");%>
</form>

    <%out.println("adding");}
%>
</body>
</html>
replace <%sucessAdmin.addDetails("question","opt1","opt2","opt3","opt4","questionNo","answer");%>
<% 
      String question = request.getParameter("question");
      String opt1= request.getParameter("opt1");
      String opt2 = request.getParameter("opt2");
      String opt3 = request.getParameter("opt3");
      String opt4 = request.getParameter("opt4");
      String questionNo = request.getParameter("questionNo");
      String answer = request.getParameter("answer");
      if(question!=null && opt1!=null && opt2 != null
         opt3!=null && opt4 !=null && questionNo!=null && answer!=null) 
      {
           sucessAdmin.addDetails(question,opt1,opt2,opt3,opt4,questionNo,answer);
       }
   %>