准备工作:
环境:winXP+sql server 2005+jdbc驱动
一、装载驱动程序
JDBC直连sql server:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
加载 Driver 类后,它们即可用来与数据库建立连接。
驱动(sqljdbc.jar放到web-inf/lib中)
二、建立连接
用适当的驱动程序类与 DBMS 建立一个连接:
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
三、创建 JDBC Statements 对象
Statement 对象用于把 SQL 语句发送到 DBMS 。你只须简单地创建一个 Statement 对象并且执行它,使用适当的方法执行你发送的 SQL 语句。对 SELECT 语句来说,可以使用 executeQuery。要创建或修改表的语句,使用的方法是 executeUpdate。
需要一个活跃的连接的来创建 Statement 对象的实例。下面使用 Connection 对象 con 创建 Statement 对象 stmt:
Statement stmt = con.createStatement();
到此 stmt 已经存在了,但它还没有把 SQL 语句传递到 DBMS。我们需要提供 SQL 语句作为参数提供给我们使用的 Statement 的方法。例如,在下面的代码段里,我们从表userlist中读取所有记录给ResultSet:
String sql="select * from userlist";
ResultSet rs = stmt.executeQuery(sql);//数据库中表的名字为userlist
四、利用ResultSet中的一些方法显示数据库中的数据。
while(rs.next()){
//循环体
}
五、释放
rs.close();
stmt.close();
con.close();
六、完整代码
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意问题:
测试sqlserver 2005 是否可以成功连接的方法:
打开management studio,服务器名称为localhost,如果登陆成功,则成功连接。
不成功的可能性包括:
1、没有混合验证(企业管理器-服务器属性-安全性-混合验证)
2、sa未授权登陆(企业管理器-安全性-登录名-sa属性-状态-登陆-启用)
3、TCP/IP协议未启用(配置工具-configuration manager-网络配置-SQLEXPRESS的协议-TCPIP-已启用)
4、端口错误(配置工具-configuration manager-网络配置-SQLEXPRESS的协议-TCPIP属性-IPALL的动态端口1433)
5、sa密码错误(企业管理器-安全性-登录名-sa属性-常规[强制密码策略不勾选])
环境:winXP+sql server 2005+jdbc驱动
一、装载驱动程序
JDBC直连sql server:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
加载 Driver 类后,它们即可用来与数据库建立连接。
驱动(sqljdbc.jar放到web-inf/lib中)
二、建立连接
用适当的驱动程序类与 DBMS 建立一个连接:
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
三、创建 JDBC Statements 对象
Statement 对象用于把 SQL 语句发送到 DBMS 。你只须简单地创建一个 Statement 对象并且执行它,使用适当的方法执行你发送的 SQL 语句。对 SELECT 语句来说,可以使用 executeQuery。要创建或修改表的语句,使用的方法是 executeUpdate。
需要一个活跃的连接的来创建 Statement 对象的实例。下面使用 Connection 对象 con 创建 Statement 对象 stmt:
Statement stmt = con.createStatement();
到此 stmt 已经存在了,但它还没有把 SQL 语句传递到 DBMS。我们需要提供 SQL 语句作为参数提供给我们使用的 Statement 的方法。例如,在下面的代码段里,我们从表userlist中读取所有记录给ResultSet:
String sql="select * from userlist";
ResultSet rs = 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>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意问题:
测试sqlserver 2005 是否可以成功连接的方法:
打开management studio,服务器名称为localhost,如果登陆成功,则成功连接。
不成功的可能性包括:
1、没有混合验证(企业管理器-服务器属性-安全性-混合验证)
2、sa未授权登陆(企业管理器-安全性-登录名-sa属性-状态-登陆-启用)
3、TCP/IP协议未启用(配置工具-configuration manager-网络配置-SQLEXPRESS的协议-TCPIP-已启用)
4、端口错误(配置工具-configuration manager-网络配置-SQLEXPRESS的协议-TCPIP属性-IPALL的动态端口1433)
5、sa密码错误(企业管理器-安全性-登录名-sa属性-常规[强制密码策略不勾选])