简单一点用JDBC-ODBC桥简单点随便找了一个文章看看:)在JSP中访问MS SQL Server数据库
下面介绍如何用SQL Server实现一个动态FAQ(常见问题及答案)网站。
首先建立一个数据库faq,其中的表faqs有字段id(int,自动增量,并设为主关键字)、subject(varchar,200)、answers(text)。这个表中可以存放一些编程知识的常见问题及答案。然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq数据库。创建一个JavaBean,名为faq.java,并保存在tomcat\webapps\test目录下。
faq.java 的内容如下:
package test;
import java.sql.*;
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;
public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
用上一节介绍的方法编译faq.java以后,在jC:\JBuilder4\tomcat\webapps\test目录下创建JSP文件faq.jsp,其内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的FAQ !</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>
在浏览器的地址栏中键入http://localhost:8080/test/faq.jsp,faq.jsp调用JavaBean,从数据库中读出内容并输出,
下面介绍如何用SQL Server实现一个动态FAQ(常见问题及答案)网站。
首先建立一个数据库faq,其中的表faqs有字段id(int,自动增量,并设为主关键字)、subject(varchar,200)、answers(text)。这个表中可以存放一些编程知识的常见问题及答案。然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq数据库。创建一个JavaBean,名为faq.java,并保存在tomcat\webapps\test目录下。
faq.java 的内容如下:
package test;
import java.sql.*;
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;
public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
用上一节介绍的方法编译faq.java以后,在jC:\JBuilder4\tomcat\webapps\test目录下创建JSP文件faq.jsp,其内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的FAQ !</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>
在浏览器的地址栏中键入http://localhost:8080/test/faq.jsp,faq.jsp调用JavaBean,从数据库中读出内容并输出,
sqlserver的JDBC API在microsoft的官方网站上可以免费获得
如果你没有使用IDE则用下面的方法连接MSSQL数据库
假如在SQLServer里的库名为test,表名也是test
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("第一个字段:"+rs.getString(1));
}
用户可绕过 JDBC 管理层直接调用 Driver 方法。这在以下特殊情况下将很有用:当两个驱动器可同时连接到数据库中,而用户需要明确地选用其中特定的驱动器。但一般情况下,让 DriverManager 类处理打开连接这种事将更为简单。
创建删除表、表中的行,以及对数据库表的查询都是对数据库的基本操作,对于用java实现这些操作的根本是SQL本身,所以对SQL的熟练掌握是关键,可以查询SQL的相关技术手册获得详细的知识,在此不再赘述。
1. 连接到Oracle数据库
本例使用一个Oracle JDBC驱动器建立与127.0.0.1:1521的名为mydatabase的数据库。
Connection connection=null;
try{
//Load the JDBC driver
String driverName=”oracle.jdbc.driver.OracleDriver”;
Class.forName(driverName);
String serverName=”127.0.0.1” //Create connection
String portNumber=”1521”
String sid=”mydatabase”;
String url=”jdbc:oracle:thin@”+serverName+”:”+portNumber+”:”+sid;
String username=”username”;
String password=”password”;
Connection=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundException e){
//Could not find database driver
}catch(SQLException e){
//Could not connect to the database
}
2.连接到SQL Server数据库
本例使用一个NetDirect JDBC驱动器建立到一个SQL Server数据库的连接。
Connection connection=null;
try{
String driverName=”com.jnetdirect.jsql.JSQLDriver”; /NetDirect JDBC driver
String serverName=”127.0.0.1” //Create connection
String portNumber=”1433”
String mydatabase=serverName+”:”+portNumber;
String url=”jdbc: JSQLConnect://”+mydatabase;
String username=”username”;
String password=”password”;
//Load the JDBC driver
Class.forName(driverName);
Connection=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundException e){
//Could not find database driver
}catch(SQLException e){
//Could not connect to the database
}