JSP+JavaBean与SQL数据库编程出现的有关问题如何解决
JSP+JavaBean与SQL数据库编程出现的问题怎么解决



DBConnect.Java
package vote;
import java.sql.*;
public class DBConnect {
private String user = "100502114";
private String password = "100502114";
String CLASSFORNAME= "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String SERVANDDB = "jdbc:sql://localhost:1433/db100502114?user&password";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public DBConnect() {
try {
Class.forName(CLASSFORNAME);
conn = DriverManager.getConnection(SERVANDDB,user,password);
}
catch (Exception e) {
System.out.println("DBConnect():" + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.out.println("sql.executeQuery:" + ex.getMessage());
}
return rs;
}
public boolean executeUpdate(String sql){
try{
stmt = conn.createStatement();
stmt.executeUpdate(sql);
return true;
}catch (SQLException ex) {
System.out.println("sql.executeUpdate:" + ex.getMessage());
return false;
}
}
public void close() throws Exception{
conn.close();
stmt.close();
}
}
vote.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<jsp:useBean id="dbBean" class="vote.DBConnect" scope="page" />
<html>
<head>
<title>在线投票</title>
<link href="vote.css" rel="stylesheet" type="text/css">
</head>
<body>
<h3>单选投票</h3>
<hr>
<form action="result.jsp" method="post">
<div align="left">
<%
String sql="select * from vote where flag = 0 and optType=0 order by id desc";
ResultSet rs=dbBean.executeQuery(sql);
int questionNum=0,optType,id,id1;
String question,str,optContent,type;
while(rs.next()){
//输出投票的主题
questionNum++;
str="主题"+questionNum+":";
question=rs.getString("question");
optType=rs.getInt("optType");
id=rs.getInt("id");
out.print(str+question+"<br>");
ResultSet rs1;
sql="select * from vote where flag="+id;
rs1=dbBean.executeQuery(sql);
out.print("<hr>");
//输出该主题的选项
while(rs1.next()){
id1=rs1.getInt("id");
optContent=rs1.getString("optContent");
if(optType==0)
type="radio";
else{
type="checkbox";
}
%>
<input type="<%=type%>" name="vote" value="<%=id1%>">
<%=optContent%> <br>
<%}%>
</div>
<hr>
<div align="left">
<%}%>
</div>
<input type="submit" name="sumbit1" value="确定">
</form>
<%rs.close();%>
</body>
</html>
------解决方案--------------------
DBConnect.Java
package vote;
import java.sql.*;
public class DBConnect {
private String user = "100502114";
private String password = "100502114";
String CLASSFORNAME= "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String SERVANDDB = "jdbc:sql://localhost:1433/db100502114?user&password";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public DBConnect() {
try {
Class.forName(CLASSFORNAME);
conn = DriverManager.getConnection(SERVANDDB,user,password);
}
catch (Exception e) {
System.out.println("DBConnect():" + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.out.println("sql.executeQuery:" + ex.getMessage());
}
return rs;
}
public boolean executeUpdate(String sql){
try{
stmt = conn.createStatement();
stmt.executeUpdate(sql);
return true;
}catch (SQLException ex) {
System.out.println("sql.executeUpdate:" + ex.getMessage());
return false;
}
}
public void close() throws Exception{
conn.close();
stmt.close();
}
}
vote.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<jsp:useBean id="dbBean" class="vote.DBConnect" scope="page" />
<html>
<head>
<title>在线投票</title>
<link href="vote.css" rel="stylesheet" type="text/css">
</head>
<body>
<h3>单选投票</h3>
<hr>
<form action="result.jsp" method="post">
<div align="left">
<%
String sql="select * from vote where flag = 0 and optType=0 order by id desc";
ResultSet rs=dbBean.executeQuery(sql);
int questionNum=0,optType,id,id1;
String question,str,optContent,type;
while(rs.next()){
//输出投票的主题
questionNum++;
str="主题"+questionNum+":";
question=rs.getString("question");
optType=rs.getInt("optType");
id=rs.getInt("id");
out.print(str+question+"<br>");
ResultSet rs1;
sql="select * from vote where flag="+id;
rs1=dbBean.executeQuery(sql);
out.print("<hr>");
//输出该主题的选项
while(rs1.next()){
id1=rs1.getInt("id");
optContent=rs1.getString("optContent");
if(optType==0)
type="radio";
else{
type="checkbox";
}
%>
<input type="<%=type%>" name="vote" value="<%=id1%>">
<%=optContent%> <br>
<%}%>
</div>
<hr>
<div align="left">
<%}%>
</div>
<input type="submit" name="sumbit1" value="确定">
</form>
<%rs.close();%>
</body>
</html>
------解决方案--------------------
DBConnect.Java
package vote;
import java.sql.*;
public class DBConnect {
private String user = "100502114";
private String password = "100502114";
String CLASSFORNAME= "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String SERVANDDB = "jdbc:sql://localhost:1433/db100502114?user&password";
Connection conn = null;
Statement stmt = null;