永发信息网

jsp连接数据库问题(在线等!!!)

答案:3  悬赏:0  手机版
解决时间 2021-12-21 22:12
package Disease1;
import java.sql.*;
import java.lang.String;

//数据库连接

public class benchmark {
Statement stmt=null ;
ResultSet rs=null ;
public Connection getConn() throws Exception {
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://MICROSOF-1F1693:1433;DatabaseName=BecheDisease;user=sa;password=******");
}catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public void Exec(String sql){//执行sql语句
try{
getConn();
stmt.executeUpdate(sql);
}catch(Exception e){
System.out.print("exec=="+e);
}
}
public ResultSet getRs(String sql)throws SQLException {//获取查询语句集对象
try{ getConn();
rs=stmt.executeQuery(sql);
return rs; }
catch(Exception e){
System.out.print(e);
return null; }}
}

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="getConn" scope="page" class="Disease1.benchmark" />
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>海参疾病诊断查询</title>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="content-language" content="en-gb" />
<link rel="stylesheet" type="text/css" href="fund.css">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script language="JavaScript">
</script>
<body><form> 
<div class="topic">
<div class="topicBox">
<table align=center width=100% border="0"
style="border-bottom: 1px solid #aaaaaa; margin: 0px 0px 8px 8px;">
<tr><td><h3>请选择海参病变症状</h3></td></tr>/table>
<table width=100% align=center border=0>
<%String sql = "select Symptom from Symptom_table ";
ResultSet rs = getConn.getRs(sql);
int intMax=0;
while(rs.next()){
intMax++;
}rs.close();
String[] Symptom=new String[intMax];
rs = getConn.getRs(sql);
if(intMax>0){
int i=0;
while (rs.next()) {
String Symp=rs.getString(2);
Symptom[i]=Symp;
i++;
rs.close();
}else{rs.close();}
%>
<tr><td valign=top align=left>
<% for (int i = 0; i < Symptom.length; i++) { %>
<input name="Symptom" type="checkbox" />
<option value=<%= i %>><%=Symptom[i]%></option>
<%
}
%>
</td>
</tr>
</table>
</div></div>
</form><br></body>
</html>


错误信息
description The server encountered an internal error () that prevented it from fulfilling this request.
exception org.apache.jasper.JasperException: An exception occurred processing JSP page /search.jsp at line 53
50:String sql = "select Symptom from Symptom_table ";
51:ResultSet rs = getConn.getRs(sql);
52:int intMax=0;
53:while(rs.next()){
54:intMax++;
55:}rs.close();
56:String[] Symptom=new String[intMax];
最佳答案
rs应该是等于null
如果rs等于0就不会报错了
检查一下数据库连接是否正确
全部回答
首先楼主应该先检查一下是否能获得与数据库的连接 如能 在第52行前打印一下rs看出来的是什么?
javabean是不应该连接数据库的。 作个简单的判断就可以了,如果传进来的值==空,这个数据不要,不放到bean中就可以了(set)!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下面三个大正方形的边长是32厘米,先计算每个
去新加坡购物必买啥?!
She said she would live in London for ____
不要轻易说对不起
google是不是没有设计师 为什么感觉他们的产
深层的同义词
单选题下列城市中,夏至日白昼最长的是下列城
淘宝如何开分店
南京人一般去哪里配眼镜
电表中继电器被烧毁的原因?
松鼠是怎么过冬的
什么音乐软件版权最多
在38□496≈39万的括号里,□最大能填A.4B.5C
单选题集体所有制经济是生产资料归部分劳动者
属龙和属虎
推荐资讯
为什么 20 世纪 80 年代时,中国电视剧里经常
小山上大学向某商人贷款1万元,月利率为0.6%
根据上下文,填写在横线上的语句,排序最恰当
我的长生果中写心理活动的成语
玩红警2的问题,我玩红警2的时候,在进入界面
题桃花扇玉树歌残声已陈,南朝宫殿柳条新;福
苏一居委会位置在什么地方啊,我要过去办理业
二世元年七月,发闾左适戍渔阳,九百人屯大泽
案卷题名用什么字体好 5分
中国历史上的楚汉相争,刘邦屡屡打败仗,可是
小华把蚊香片放到电热驱蚊器的发热板上,蚊香
为什么这个比如一个单位的同事,年轻人看到认
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?