注册 登录
编程论坛 J2EE论坛

[求助]请教JSP连接SQL 2000的相关问题.

uukkcc 发布于 2007-09-17 11:22, 1018 次点击

最近联系JSP连接SQL 2000数据库.可总是有错误.不知道怎么解决.现将代码贴上.请各位指点一二.
新手,请尽量详细.在此有礼了.谢谢!
代码如下:

首先建一个class来存放连接数据库用的相关代码:


package test;

import java.sql.*;

public class DB {

private Connection conn;
private Statement stmt;
private ResultSet rs;

private void preparedDriver(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}

public Connection getConn(){
this.preparedDriver();
try {
conn = DriverManager.getConnection("jdbc:odbc:test","","");
} catch (SQLException ex) {
ex.printStackTrace();
}
return conn;
}


}

然后建一JSP来调用以上代码:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%>
<jsp:useBean id="sel" scope="page" class="test.DB"></jsp:useBean>
<html>
<head>
</head>
<body>
<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
conn=sel.getConn();
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from Ango");
while(rs.next()){
out.println(rs.getInt(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
out.println(rs.getString(4));
out.println(rs.getString(5));
out.println(rs.getString(6));
out.println(rs.getFloat(7));
out.println(rs.getString(8));
out.println(rs.getInt(9));
out.println(rs.getInt(10));
}

rs.close();
stmt.close();
conn.close();
%>
</body>
</html>


11 回复
#2
uukkcc2007-09-17 14:00
米人指点吗?
#3
风月_无边2007-09-17 14:20
你應該把出現的錯誤也帖上來﹗
#4
hwoarangzk2007-09-17 14:39

还有下过补丁吗?

#5
uukkcc2007-09-17 17:31

从 stmt=conn.createStatement();开始以下都抱错.

错误提示为:
unreported exception java.sql.SQLException; must be caught or declared to be thrown

我用的是Jbuilder 2006,是注册版.

SQL 2000打过SP3补丁.

#6
风月_无边2007-09-17 18:21
沒有捕獲異常﹗﹗
#7
evollock2007-09-17 19:42

没有写不过异常的语句

#8
guoxhvip2007-09-17 22:38
异常必须捕获
#9
uukkcc2007-09-18 08:44
弱弱是问一下.怎么捕获异常?可否指点一下完整的代码?
谢谢....
#10
风月_无边2007-09-18 18:32
加上try , catch ,把會出現異常的語句括起來﹗
#11
ziyi5552007-09-18 19:46

捕获这段异常
try{
conn=sel.getConn();
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from Ango");
while(rs.next()){
out.println(rs.getInt(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
out.println(rs.getString(4));
out.println(rs.getString(5));
out.println(rs.getString(6));
out.println(rs.getFloat(7));
out.println(rs.getString(8));
out.println(rs.getInt(9));
out.println(rs.getInt(10));
}catch(Exception ex){
//do something...
}

#12
uukkcc2007-09-19 16:34
哦.我知道了.谢谢大家.
1