zoro 2011-10-25
准备工作:
环境:winXP+sqlserver2005+jdbc驱动
一、装载驱动程序
JDBC直连sqlserver:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
加载Driver类后,它们即可用来与数据库建立连接。
驱动(sqljdbc.jar放到web-inf/lib中)
二、建立连接
用适当的驱动程序类与DBMS建立一个连接:
Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=test";
Stringuser="sa";
Stringpassword="sa";
Connectionconn=DriverManager.getConnection(url,user,password);
三、创建JDBCStatements对象
Statement对象用于把SQL语句发送到DBMS。你只须简单地创建一个Statement对象并且执行它,使用适当的方法执行你发送的SQL语句。对SELECT语句来说,可以使用executeQuery。要创建或修改表的语句,使用的方法是executeUpdate。
需要一个活跃的连接的来创建Statement对象的实例。下面使用Connection对象con创建Statement对象stmt:
Statementstmt=con.createStatement();
到此stmt已经存在了,但它还没有把SQL语句传递到DBMS。我们需要提供SQL语句作为参数提供给我们使用的Statement的方法。例如,在下面的代码段里,我们从表userlist中读取所有记录给ResultSet:
Stringsql="select*fromuserlist";
ResultSetrs=stmt.executeQuery(sql);//数据库中表的名字为userlist
四、利用ResultSet中的一些方法显示数据库中的数据。
while(rs.next()){
//循环体
}
五、释放
rs.close();
stmt.close();
con.close();
六、完整代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <% Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test"; String user="sa"; String password="sa"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from Table_abc"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> <br> 您的第二个字段内容为:<%=rs.getString(2)%> <br> 您的第三个字段内容为:<%=rs.getString(3)%> <br> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意问题:
测试sqlserver2005是否可以成功连接的方法:
打开managementstudio,服务器名称为localhost,如果登陆成功,则成功连接。
不成功的可能性包括:
1、没有混合验证(企业管理器-服务器属性-安全性-混合验证)
2、sa未授权登陆(企业管理器-安全性-登录名-sa属性-状态-登陆-启用)
3、TCP/IP协议未启用(配置工具-configurationmanager-网络配置-SQLEXPRESS的协议-TCPIP-已启用)
4、端口错误(配置工具-configurationmanager-网络配置-SQLEXPRESS的协议-TCPIP属性-IPALL的动态端口1433)
5、sa密码错误(企业管理器-安全性-登录名-sa属性-常规[强制密码策略不勾选])