赞
踩
今天学习数据库连接的使用,第一种方法是使用JDBC-ODBC方式连接,我依次把ODBC数据源创建好了,可最后写出的代码却不能实现预期效果。链接语句如下
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection("jdbc:odbc:testDataBase","sa","123");
具体原因我也不太清楚,大概是一些路径错误了吧。后来我使用JDBC方式进行连接,代码如下
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=testDataBase","sa","123");
发现成功连接了!鉴于两种连接方式的运行结果是一样的,而且大部分连接方式是使用JDBC方式,所以我也没深究JDBC-ODBC方式。
另外,这里要说的一点是,本来书上说JDBC API 4.0增强了DriverManager.getConnection方法,所以在导入sqljdbc4.jar后不需要Class.forName( )来注册或加载驱动程序。但我尝试了好久发现并不行,但后来经过查阅资料,本着试一试的心态,在代码前加入Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");才得到了预期结果。
附代码如下:
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<body>
<% Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=testDataBase","sa","123");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM userTable");
out.print("<Table Border>");
out.print("<Tr><td colspan=8 align=center>用户数据</td></tr>");
out.print("<tr>");
out.print("<td width=100>用户ID号</td>");
out.print("<td width=50>用户名</td>");
out.print("<td width=100>用户真实姓名</td>");
out.print("<td width=50>年龄</td>");
out.print("<td width=50>性别</td>");
out.print("<td width=100>联系地址</td>");
out.print("<td width=100>联系电话</td>");
out.print("<td width=100>添加时间</td>");
out.print("</tr>");
while(rs.next()){
out.print("<tr>");
out.print("<td>"+rs.getLong(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getString(4)+"</td>");
out.print("<td>"+rs.getInt("user_age")+"</td>");
out.print("<td>"+rs.getString("user_sex")+"</td>");
out.print("<td>"+rs.getString("user_address")+"</td>");
out.print("<td>"+rs.getString("user_telephone")+"</td>");
out.print("<td>"+rs.getString("add_time")+"</td>");
out.print("</tr>");
}
out.print("</Table>");
con.close();
}catch(SQLException e1){
out.print(e1);
}
%>
</body>
</html>
运行效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。