这里采用jdbc-odbc桥,这里的bookbase是在odbc中配置的系统数据源(dsn)
查询数据:
import java.io.*;
import java.sql.*;
class BookQuery
  {
    public static void main(String args[])
      {
        try
         {
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         }
        catch(ClassNotFoundException ce)
          {
            System.out.println("SQLException: "+ce.getMessage());
          }
        try
          {
            Connection con=DriverManager.getConnection("jdbc:odbc:bookbase");
            Statement stmt=con.createStatement();
            ResultSet rs=stmt.executeQuery("select * from bookTab");
            while(rs.next())
              {
                System.out.println(
                        "书号: "+rs.getInt(1)+"\t"+
                        "书名: "+rs.getString(2)+"\t"+
                        "作者: "+rs.getString(3)+"\t"+
                        "单价: "+rs.getFloat(4));
              }
           stmt.close();
           con.close();
          }
        catch(SQLException e)
          {
            System.out.println("SQLException: "+e.getMessage());
           }
       }
   }

解决方案 »

  1.   

    创建数据表:
    这里tel字段为关键字段
    import java.sql.*;
    public class CreateAuthTab
      {
        public static void main(String args[])
          {
            try
              {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              }
            catch(java.lang.ClassNotFoundException e)
              {
                System.out.println(e.getMessage());
              }
            try
              {
                Connection con=DriverManager.getConnection("jdbc:odbc:bookbase");
                Statement stmt=con.createStatement();
                stmt.executeUpdate("create table authTab(" +
                                    "auth char(10),"+
                                    "tel char(12) CONSTRAINT authIndex PRIMARY KEY)");
                stmt.close();
                con.close();
               }
            catch(SQLException ex)
               {
                 System.out.println("SQLException: " +ex.getMessage());
               }
           }
       }
      

  2.   

    插入数据:
    import java.sql.*;
    public class InsertAuthRec
      {
        public static void main(String args[])
          {
            try
             {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             }
            catch(ClassNotFoundException e)
             {
               System.out.println(e.getMessage());
             }
            try
             {
               Connection con=DriverManager.getConnection("jdbc:odbc:bookbase");
               Statement stmt=con.createStatement();
               stmt.executeUpdate("insert into authTab values(" +
                                   "'张三','(021)33311111')");
               stmt.executeUpdate("insert into authTab values(" +
                                   "'李四','(021)33322222')");
               stmt.executeUpdate("insert into authTab values(" +
                                   "'王五','(021)33344444')");           ResultSet rs=stmt.executeQuery("select * from authTab");
               while(rs.next())
                  {
                    System.out.println(rs.getString("auth")+"\t"+rs.getString("tel"));
                  }
               stmt.close();
               con.close();
             }
           catch(SQLException ex)
             {
               System.err.println("SQLException: " +ex.getMessage());
             }
           }
       }
      

  3.   

    /*******************************************
    string dbDriver 
    string dbURL,dbUID,dbPWD
    Connection m_conn;
    dbDriver = sun.jdbc.odbc.JdbcOdbcDriver 
    dbURL = jdbc:odbc:数据源名
    dbUID = 用户名
    dbPWD = 密码 
    ********************************************/public boolean connect()
    {
    Statement stmt = null;
    ResultSet rs = null;
    String sql = null;

    try
    {
    Class.forName(dbDriver);
    m_conn=DriverManager.getConnection(dbURL,dbUID,dbPWD);

    stmt = m_conn.createStatement();
    sql = "select i* from tableName where ........."'";
    rs = stmt.executeQuery(sql); //rs可以返回查询的结果集 可以用执行任何标准的sql语句            
    }
    catch(Exception ex)
    {
    debugError("连接数据库失败"+ex.toString());
    return false;
    }
    }
      

  4.   

    谢谢了,那JSP中,对表单参数的处理呢?比如从一个页面取得另一个页面的表单参数?url参数
      

  5.   

    &Otilde;&acirc;&Agrave;&iuml;&Ecirc;&Ccedil;insert_1.jsp&Icirc;&Auml;&frac14;&thorn;&pound;&not;&micro;÷&Oacute;&Atilde;insert_2.jsp<html>
    <head>
    <title>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;-Access2000</title>
    </head>
    <body>
    <center><h2>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;</h2>
    <hr>
    <form action=insert_2.jsp method=post>
    <p>&ETH;&Otilde;&Atilde;&ucirc;:<input type=text name=name>
    <P>&ETH;&Ocirc;±&eth;:<input type=text name=sex>
    <p>&micro;&Oslash;&Ouml;·:<input type=text name=address>
    <p>E-Mail:<input type=text name=email>
    <p><input type=submit name=confirm value=&Egrave;·&para;¨>&nbsp;&nbsp;
    <input type=reset name=reinput value= &Ouml;&Oslash;&Igrave;&icirc;>
    </p>
    </form>
    </center>
    </body>
    </html>&Otilde;&acirc;&Agrave;&iuml;&Ecirc;&Ccedil;insert_2.jsp&Icirc;&Auml;&frac14;&thorn;&pound;&not;&micro;÷&Oacute;&Atilde;insert_3.jsp<%@ page language="java" import ="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;-Access2000</title>
    </head>
    <body>
    <jsp:useBean id="view" scope="page" class="access.access_dbconnect"/>
    <center><h2>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;</h2>
    <hr>
    <%
     String name1=request.getParameter("name");
     byte[]tempbyte1=name1.getBytes("ISO8859_1");
     String name=new String(tempbyte1);
     String sex1=request.getParameter("sex");
     byte[]tempbyte2=sex1.getBytes("ISO8859_1");
     String sex=new String(tempbyte2);
     String address1=request.getParameter("address");
     byte[]tempbyte3=address1.getBytes("ISO8859_1");
     String address=new String(tempbyte3);
     String email1=request.getParameter("email");
     byte[]tempbyte4=email1.getBytes("ISO8859_1");
     String email=new String(tempbyte4);
    %>
    <p>&ETH;&Otilde;&Atilde;&ucirc;:<%=name%>
    <p>&ETH;&Ocirc;±&eth;:<%=sex%>
    <p>&micro;&Oslash;&Ouml;·:<%=address%>
    <p>E-Mail:<%=email%>
     <form action=insert_3.jsp method=post>
     <input type=hidden name=name value=<%=name%>>
     <input type=hidden name=sex value=<%=sex%>>
     <input type=hidden name=address value=<%=address%>>
     <input type=hidden name=email value=<%=email%>>
     <p>
     <input type=submit name=confirm value=&Egrave;·&para;¨>&nbsp;&nbsp;
     <input type=button name=back value=·&micro;&raquo;&Oslash; onclick="javascript:history.go(-1)">
     </p>
     </center>
     </form>
     </body>
     </html>&Otilde;&acirc;&Agrave;&iuml;&Ecirc;&Ccedil;insert_3.jsp&Icirc;&Auml;&frac14;&thorn;<%@ page language="java" import ="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;-Access2000</title>
    </head>
    <body>
    <jsp:useBean id="insert" scope="page" class="access.access_dbconnect"/>
    <%   String name1=request.getParameter("name");
       byte[]tempbyte1=name1.getBytes("ISO8859_1");
       String name=new String(tempbyte1);
       String sex1=request.getParameter("sex");
       byte[]tempbyte2=sex1.getBytes("ISO8859_1");
       String sex=new String(tempbyte2);
       String address1=request.getParameter("address");
       byte[]tempbyte3=address1.getBytes("ISO8859_1");
       String address=new String(tempbyte3);
       String email1=request.getParameter("email");
       byte[]tempbyte4=email1.getBytes("ISO8859_1");
       String email=new String(tempbyte4);  String sql_1="insert into user_info(name,sex,address,email) values ('"+name +"','"+sex+"','"+address+"','"+email+"')";
       insert.executeUpdate(sql_1);
       
     %> 
     <center><h2>&Igrave;í&frac14;&Oacute;&Oacute;&Atilde;&raquo;§&ETH;&Aring;&Iuml;&cent;</h2>
     <hr>
     <br>
     &Ccedil;×°&reg;&micro;&Auml;<font color=blue><%=name%></font>&Oacute;&Atilde;&raquo;§,&Auml;ú&micro;&Auml;&ETH;&Aring;&Iuml;&cent;&Ograve;&Ntilde;&frac34;&shy;&Igrave;í&frac14;&Oacute;&micro;&frac12;Access2000&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;&Ouml;&ETH;,&ETH;&raquo;&ETH;&raquo;!!
     <form action=index.htm method=post>
     <input type=submit name=back value=·&micro;&raquo;&Oslash;>
     </form>
     </body>
     </html>
      

  6.   

    这为insert_1.jsp,调用insert_2.jsp
    <html>
    <head>
    <title>添加用户信息-Access2000</title>
    </head>
    <body>
    <center><h2>添加用户信息</h2>
    <hr>
    <form action=insert_2.jsp method=post>
    <p>姓名:<input type=text name=name>
    <P>性别:<input type=text name=sex>
    <p>地址:<input type=text name=address>
    <p>E-Mail:<input type=text name=email>
    <p><input type=submit name=confirm value=确定>&nbsp;&nbsp;
    <input type=reset name=reinput value= 重填>
    </p>
    </form>
    </center>
    </body>
    </html>这为insert_2.jsp,调用insert_3.jsp
    %@ page language="java" import ="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>添加用户信息-Access2000</title>
    </head>
    <body>
    <jsp:useBean id="view" scope="page" class="access.access_dbconnect"/>
    <center><h2>添加用户信息</h2>
    <hr>
    <%
     String name1=request.getParameter("name");
     byte[]tempbyte1=name1.getBytes("ISO8859_1");
     String name=new String(tempbyte1);
     String sex1=request.getParameter("sex");
     byte[]tempbyte2=sex1.getBytes("ISO8859_1");
     String sex=new String(tempbyte2);
     String address1=request.getParameter("address");
     byte[]tempbyte3=address1.getBytes("ISO8859_1");
     String address=new String(tempbyte3);
     String email1=request.getParameter("email");
     byte[]tempbyte4=email1.getBytes("ISO8859_1");
     String email=new String(tempbyte4);
    %>
    <p>姓名:<%=name%>
    <p>性别:<%=sex%>
    <p>地址:<%=address%>
    <p>E-Mail:<%=email%>
     <form action=insert_3.jsp method=post>
     <input type=hidden name=name value=<%=name%>>
     <input type=hidden name=sex value=<%=sex%>>
     <input type=hidden name=address value=<%=address%>>
     <input type=hidden name=email value=<%=email%>>
     <p>
     <input type=submit name=confirm value=确定>&nbsp;&nbsp;
     <input type=button name=back value=返回 onclick="javascript:history.go(-1)">
     </p>
     </center>
     </form>
     </body>
     </html>这为insert_3.jsp<%@ page language="java" import ="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>添加用户信息-Access2000</title>
    </head>
    <body>
    <jsp:useBean id="insert" scope="page" class="access.access_dbconnect"/>
    <%   String name1=request.getParameter("name");
       byte[]tempbyte1=name1.getBytes("ISO8859_1");
       String name=new String(tempbyte1);
       String sex1=request.getParameter("sex");
       byte[]tempbyte2=sex1.getBytes("ISO8859_1");
       String sex=new String(tempbyte2);
       String address1=request.getParameter("address");
       byte[]tempbyte3=address1.getBytes("ISO8859_1");
       String address=new String(tempbyte3);
       String email1=request.getParameter("email");
       byte[]tempbyte4=email1.getBytes("ISO8859_1");
       String email=new String(tempbyte4);  String sql_1="insert into user_info(name,sex,address,email) values ('"+name +"','"+sex+"','"+address+"','"+email+"')";
       insert.executeUpdate(sql_1);
       
     %> 
     <center><h2>添加用户信息</h2>
     <hr>
     <br>
     亲爱的<font color=blue><%=name%></font>用户,您的信息已经添加到Access2000数据库中,谢谢!!
     <form action=index.htm method=post>
     <input type=submit name=back value=返回>
     </form>
     </body>
     </html>
      

  7.   

    javabean部分的代码
    package access;
    import java.sql.*;
    public class access_dbconnect
     {
       String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
       String sConnStr="jdbc:odbc:access_test";   Connection conn=null;
       ResultSet rs=null;   public access_dbconnect()
         {
           try
             {
               Class.forName(sDBDriver);
              }
           catch(java.lang.ClassNotFoundException e)
             {
                System.err.println("Class aceess_dbconnect not found!"+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;
           }