JSP连接SQL Server数据库
1.jsp
本例子是以SQL Server2000数据库中Northwind数据库的表Orders为例.
数据库的用户名:sa 密码:sa
友情提示:如果读者安装的是SQL Server2000数据库,别忘了安装它的补丁SP3,或SP4.笔者是安装的是SP3.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
//studentinfo为你的数据库
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 Orders";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
%>
您的第一个字段内容为:
<%=rs.getString(1)%>
<br />
您的第二个字段内容为:
<%=rs.getString(2)%>
<br />
您的第三个字段内容为:
<%=rs.getString(3)%>
<br />
您的第四个字段内容为:
<%=rs.getString(4)%>
<br />
<%
}
%>
<%
out.print("数据库操作成功,恭喜你");
%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
2.java
package database;
import java.sql.*;
/**
* @author Administrator
*
*/
public class DBAccess {
private Connection m_conn;
private Statement m_stmt;
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;databasename=sc";
String uName = "sa";
String uPwd = "sa";
/**
*
*/
public DBAccess() {
this.setDriver(driver);
this.setConnection(url, uName, uPwd);
}
public DBAccess(String driver, String url, String userName, String userPWD) {
try {
m_conn = DriverManager.getConnection(url, userName, userPWD);
m_stmt = m_conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public boolean setDriver(String driver) {
try {
Class.forName(driver);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public boolean setConnection(String url, String userName, String userPWD) {
try {
m_conn = DriverManager.getConnection(url, userName, userPWD);
m_stmt = m_conn.createStatement();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// 处理查询
public ResultSet sendQuery(String sql) {
try {
ResultSet m_rs = m_stmt.executeQuery(sql);
return m_rs;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
// 处理数据更新
public int sendUpdate(String sql) {
try {
return m_stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
// 测试程序
public static void main(String[] arg) {
DBAccess db = new DBAccess();
String sql = "select * from Student";
ResultSet rs = db.sendQuery(sql);
try {
if (rs != null) {
while (rs.next()) {
System.out.println(rs.getInt("Sno") + " "
+ rs.getString("Sname"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)
String url = ' jdbc:oracle:thin:@localhost:1521:orcl ' ; // orcl为数据库的SID
String user = ' test ' ;
String password = ' test ' ;
Connection conn = DriverManager.getConnection(url,user,password);
2、DB2数据库
String url = ' jdbc:db2://localhost:5000/sample ' ; // sample为你的数据库名
String user = ' admin ' ;
String password = '' ;
Connection conn = DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
String url = ' jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb ' ;
// mydb为数据库
String user = ' sa ' ;
String password = '' ;
Connection conn = DriverManager.getConnection(url,user,password);
4、Sybase数据库
String url = ' jdbc:sybase:Tds:localhost:5007/myDB ' ; // myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put( ' user ' , ' userid ' );
SysProps.put( ' password ' , ' user_password ' );
Connection conn = DriverManager.getConnection(url, SysProps);
5、Informix数据库
String url = ' jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user = testuser;password = testpassword ' ; //myDB为数据库名
Connection conn = DriverManager.getConnection(url);
6、MySQL数据库
String url = ' jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1 '
// myDB为数据库名
Connection conn = DriverManager.getConnection(url);
7、PostgreSQL数据库
String url = ' jdbc:postgresql://localhost/myDB ' // myDB为数据库名
String user = ' myuser ' ;
String password = ' mypassword ' ;
Connection conn = DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
String url = ' jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ= ' + application.getRealPath( ' /Data/ReportDemo.mdb ' );
Connection conn = DriverManager.getConnection(url, '' , '' );
Statement stmtNew = conn.createStatement() ;