解决了jsp连接sqlserver2000的问题【原创】

老师布置了个实验,说要连接sqlserver数据库,于是本人想用比较熟悉的jsp来连接,之前就有尝试连接,但由于补丁的问题常常出错,今天也不例外,我排斥了两个错误后方才连接上的。

第一个错误我忘记了,第二个错误好像是端口的问题,但最后发现是补丁的问题,我打的是sp3,打完后就可以连接了。说得很烂吧,呵呵,这篇文章我是想记录下来而已,以后一看应该就可以解决问题。

以下是测试连接代码:

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
//安装SQL Server 2000 SP4补丁
//安装Microsoft SQL Server 2000 Driver for JDBC
//将Microsoft SQL Server 2000 Driver for JDBC\lib目录下的三个jar复制到Tomcat5\common\lib目录下
//或者将这三个jar设置到CLASSPATH中

// 定义数据库驱动程序
String DBDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";
// 定义数据库连接地址
String DBURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
// 定义数据库连接用户名和密码
String DBUSER="sa";
String DBPASSWORD="";
// 定义数据库连接对象,属于java.sql包中的接口
Connection conn=null;
// 定义PreparedStatement对象,用于操作数据库
PreparedStatement pstmt=null;
// 查询返回的结果集对象
ResultSet rs=null;
// 定义一字符串变量,用于保存SQL语句
String sql=null;
%>
<%
try{
// 1、加载驱动程序
Class.forName(DBDRIVER).newInstance();
// 2、连接数据库
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
System.out.println("DataBase Connection OK!!!");
out.println("DataBase Connection OK!!!");
}catch(Exception e){
System.out.println("DataBase Connection Failure!!!" + e.getMessage());
out.println("DataBase Connection Failure!!!" + e.getMessage());
}

try{
// 3、操作数据库
sql="select * from authors";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
%>
<table border="1">
<tr>
<td>au_id</td>
<td>au_lname</td>
<td>au_fname</td>
<td>phone</td>
<td>address</td>
<td>city</td>
<td>state</td>
<td>zip</td>
</tr>
<%
while(rs.next())
{
String id=rs.getString("au_id");
String lname=rs.getString("au_lname");
String fname=rs.getString("au_fname");
String phone=rs.getString("phone");
String address=rs.getString("address");
String city=rs.getString("city");
String state=rs.getString("state");
String zip=rs.getString("zip");
%>
<tr>
<td><%=id%></td>
<td><%=lname%></td>
<td><%=fname%></td>
<td><%=phone%></td>
<td><%=address%></td>
<td><%=city%></td>
<td><%=state%></td>
<td><%=zip%></td>
</tr>
<%
}
%>
</table>
<%
System.out.println("DataBase Query OK!!!");
out.println("DataBase Query OK!!!");
}catch(Exception e){
System.out.println("DataBase Query Failure!!!" + e.getMessage());
out.println("DataBase Query Failure!!!" + e.getMessage());
}
%>
<%
// 4、关闭数据库
try{
// 关闭结果集
rs.close();
// 关闭操作
pstmt.close();
// 关闭连接
conn.close();
System.out.println("DataBase Close OK!!!");
out.println("DataBase Close OK!!!");
}catch(Exception e){
System.out.println("DataBase Close Failure!!!"+e.getMessage());
out.println("DataBase CLose Failure!!!"+e.getMessage());
}
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值