啊?
不会吧?
兄弟们太不给面子了~~
我的MM都不理……
晕,咚%……
那个电!一切全为你!西若!ACFER!神天月晓!毓人码头……
还有很多很多的兄弟!
你们都死哪去了!!
献身!!!
葫芦头呢?
两把刀!!!
……

解决方案 »

  1.   

    MM~~
    那些人如果还健在,会来得……
    先帖一个你看看。现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 
    create table test(test1 varchar(20),test2 varchar(20) 
    然后向这个表写入一条测试纪录 
    那么现在开始我们的jsp和数据库之旅吧。 
    一、jsp连接Oracle8/8i/9i数据库(用thin模式) 
    testoracle.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
    //orcl为你的数据库的SID 
    String user="scott"; 
    String password="tiger"; 
    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()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    二、jsp连接Sql Server7.0/2000数据库 
    testsqlserver.jsp如下: 
    <%@ 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=pubs"; 
    //pubs为你的数据库的 
    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()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    三、jsp连接DB2数据库 
    testdb2.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
    String url="jdbc:db2://localhost:5000/sample"; 
    //sample为你的数据库名 
    String user="admin"; 
    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()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    四、jsp连接Informix数据库 
    testinformix.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
    String url = 
    "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; 
    user=testuser;password=testpassword"; 
    //testDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    五、jsp连接Sybase数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
    String url =" jdbc:sybase:Tds:localhost:5007/tsdata"; 
    //tsdata为你的数据库名 
    Properties sysProps = System.getProperties(); 
    SysProps.put("user","userid"); 
    SysProps.put("password","user_password"); 
    Connection conn= DriverManager.getConnection(url, SysProps); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    六、jsp连接MySQL数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
    //testDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    七、jsp连接PostgreSQL数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("org.postgresql.Driver").newInstance(); 
    String url ="jdbc:postgresql://localhost/soft" 
    //soft为你的数据库名 
    String user="myuser"; 
    String password="mypassword"; 
    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()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
      

  2.   

    out.printlnrs.getString("id"));
    这里错了
    用这个试试
    <%@ page import="java.io.*"%><%@ page import="java.sql.*"%>
    <%
    try{
       //Load JDBC driver
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       
     /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
       String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=dddd.mdb";
       
       Connection con = DriverManager.getConnection(dbUrl,"","");   
       Statement state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                             ResultSet.CONCUR_UPDATABLE);
       //执行SQL语句
       String sql = "select * from admin";
       ResultSet rs = state.executeQuery(sql);   //打印测试
       if( rs != null ){
           while( rs.next() ){
              out.println("\t" + rs.getString("id"));
          }
          rs.close();
          con.close();
       }
    }
      catch(Exception e){   
          e.printStackTrace(out);
      }
    %>
      

  3.   

    来了来了,刚才吃饭去了,忽忽~我们这早上断电,现在有电又不开空调,热着呢。楼主可以把那个java的改写成bean,然后直接调用呀~
      

  4.   

    HOHO~~
    电兄~~
    有人说是我MM,你应该为兄弟高兴啊~~
    哈哈。
      

  5.   

    我今天不回答,看有没有兄弟帮MM搞定?
    这个MM 可是个大美女哦~~
    电兄没希望了~~
    看看ACFER努力不努力?
    哈哈。
      

  6.   

    ACCP也来了?
    什么时候改名字的~~
    多了裤头了?
    哈哈。
      

  7.   

    out.printlnrs.getString("id"));
    ?????
    ==>>  out.println(rs.getString("id"))
      

  8.   

    <!--本程序用来测试Jsp到Access的连接-->
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page errorPage="accesstest_error.jsp" %>
    <html>
    <head>
    <title>
    jdbctest
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    Jdbc 连接到 Access 数据库的例子</h1>
    <%
    java.sql.Connection sqlCon; //数据库连接对象
    java.sql.Statement sqlStmt; //SQL语句对象
    java.sql.ResultSet sqlRst; //结果集对象
    java.lang.String strCon; //数据库连接字符串
    java.lang.String strSQL; //SQL语句
    String mdbpath=request.getRealPath("/");
    //装载JDBC-ODBC驱动程序
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
    strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbpath+"dbtest.mdb";
    out.println(strCon);
    //strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=F:\\Jb\\BeanServletTest\\defaultroot\\dbtest.mdb";
    //"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+ mdbpath+"\\dbtest.mdb";
    //数据库是一个Access文件,里面有一张表user,表里有userid和userpass两个字段
    sqlCon = java.sql.DriverManager.getConnection(strCon,"","");
    //创建SQL语句对象
    sqlStmt = sqlCon.createStatement();
    //执行插入几条记录的SQL语句
    strSQL = "insert into user (userid,userpass) values(\'user111\',\'pass111\')";
    out.println(strSQL);
    out.println("插入操作的返回值是"+sqlStmt.executeUpdate(strSQL));
    //获取记录总数
    strSQL = "select * from user where userid=\'"+request.getParameter("userid")+"\' and userpass=\'"+request.getParameter("userpass")+"\'" ;
    //判断条件是 where userid="+request.getParameter("userid")+" and userpass="+request.getParameter("userpass") ;
    //一些数据库里的查询的判断条件
    out.println(strSQL);
    strSQL = "select * from user";
    out.println(strSQL);
    sqlRst = sqlStmt.executeQuery(strSQL);
    //打印测试
    if( sqlRst != null ){
    out.println("一共有"+sqlRst.getRow()+"条记录");
    while( sqlRst.next() ){
    out.println("你的用户名字是:\t" + sqlRst.getString("userid")+"<br>");
    out.println("你的密码是:\t" + sqlRst.getString("userpass")+"<br>");
    out.println("一共有"+sqlRst.getRow()+"条记录<br>");
    }
    out.println("一共有"+sqlRst.getRow()+"条记录");
    }
    sqlRst.close();
    sqlCon.close();
    %>
    </body>
    </html>
      

  9.   

    to:xmvigour(微电--人真的为了希望而活着,买彩票去)
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'。
    这是怎么回事啊?
      

  10.   

    行了,谢谢各位了。应该是DBQ=\\dddd.mdb我少打了\\
    你们大概是大型数据库连多了,access的路径写法不熟悉,哈哈帮你们上了一课。
      

  11.   

    文件路径不对吧!
    为什么不用odbc呢??
      

  12.   

    HOHO
    nettman也来了
    苦行僧呢?