我在mysql數據庫中有兩個表,一個給學生,一個給老師。兩個表都有相同的列。如何根據單選按鈕選擇一個mysql表來插入數據?我的jsp/java代碼出了什麼問題?爲什麼單選按鈕不起作用?
下面的代碼只將數據插入到老師的表中。如果用戶選擇教師的單選按鈕,則註冊數據應存儲在教師表中。如果用戶選擇學生的收音機,那麼註冊數據應該存儲在學生的表格中。我的jsp/jdbc代碼中出現了什麼問題?什麼將是一個解決方案呢?
這個查詢有什麼問題。爲什麼這個查詢插入的數據只在mysql的學生表中,而不是在teacher2表中。 要麼選擇教師/學生單選按鈕
收音機,但不工作
String gender = request.getParameter("gender");
if (gender != null) {
String table = gender.equals("teacher") ? "teacher2" : "student";
// replace dots with your values
String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')";
st.executeUpdate(query);}
問題是在這裏還要
st.executeUpdate(query);
//但是插入MySQL的數據
的index.jsp
<form method="GET " action="statement2.jsp" autocomplete="on">
<input type="radio" name="gender" value="teacher" checked/> Teacher
<input type="radio" name="gender" value="Student"/>Student
<input type="submit" value="Login" />
<input type="button" onclick="location.href='reg.jsp';" value="Sign Up" />
</form>
statement2.jsp
<%
String name=request.getParameter("first");
String abc=request.getParameter("last");
String cde=request.getParameter("user");
String pass=request.getParameter("password");
String confpass=request.getParameter("confirmpass");
String emails=request.getParameter("email");
String months=request.getParameter("month");
String day=request.getParameter("day");
String year=request.getParameter("year");
String gender = request.getParameter("gender");
if (gender != null) {
String table = gender.equals("teacher") ? "teacher2" : "student";
// replace dots with your values
String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')";
st.executeUpdate(query);} // problem is here
%>
reg.jsp // registeration頁面註冊
<form method="GET" action="statement2.jsp" autocomplete="on">
<input id="firstnamesignup" name="first" required="required" type="text" placeholder="First" />
<input id="lastnamesignup" name="last" required="required" type="text" placeholder="Last" />
<select name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</form>
分貝conn.jsp //這個文件是數據庫連接
<%@page import="com.mysql.jdbc.Connection"%>
<%@page import="com.mysql.jdbc.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import ="java.sql.*" %>
<%
Connection c1 = null;
Statement st = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
c1 = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/teacher","root", "abcde");
{
System.out.println("Couldn't find the driver!");
System.out.println("Couldn't connect: print out a stack trace and exit.");
System.out.println("We got an exception while creating a statement:" + "that probably means we're no longer connected.");
st = (Statement) c1.createStatement();
System.out.println("Statement Created Successfully");
{
System.out.println("We got an exception while creating a statement:" + "that probably means we're no longer connected.");
}
if (c1!= null) {
System. out.println("Hooray! We connected to the database!");
} else {
System.out.println("We should never get here.");
}}
%>
@Jens我的代碼錯了嗎? –
我不知道。使用調試器找出它 – Jens
如果你使用mysql,不要用SQL-Server標籤標記你的問題。這是不一樣的 – Jens