<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<html>
<head>
<title> qin NO.4 </title>
<bdoy>
<jsp:useBean id="NinGoo" scope="page" class="NinGoo.dbconn1" />
<%
ResultSet rs=null;
Connection conn = null;
NinGoo.setServer("127.0.0.1");  //设置MySQL的服务器名或者IP
NinGoo.setPort("3306");            //设置MySQL的监听端口
NinGoo.setDB("mysql");                //设置MySQL的数据库名
NinGoo.setUser("root");             //设置连接MySQL的用户名
NinGoo.setPass("sjjifk");      //设置连接MySQL的密码
conn = NinGoo.getConn() ;
rs= NinGoo.executeSQL("select * from help_topic");
rs.next();
%>
    Row:<%=rs.getString(3)%>
<%rs.next();%>
<%out.print("Successful!\n");%>  
<%
rs.close();
conn.close();
%>
</body>
</html>

解决方案 »

  1.   

    package NinGoo;
    import java.sql.*;
    public class dbconn1 {
     public dbconn1() {
       }
     //declare variable
     private Connection conn = null;
     ResultSet rs = null;
     private String server = "127.0.0.1";
     private String port = "3306";
     private String db = "test";
     private String user = "root";
     private String pass = "pass";
     private String drivername="com.mysql.jdbc.Driver";
     private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass; public Connection getConn(){//get database connection
      try{
       Class.forName("com.mysql.jdbc.Driver");
       DriverManager.registerDriver(new com.mysql.jdbc.Driver());
       conn = DriverManager.getConnection(URL);
      }
      catch(Exception e){
       e.printStackTrace();
      }
       return this.conn ;
     } public void setServer(String str) {//set server name
      this.server=str;
     } public void setPort(String str) {//set server port
     this.port = str;
     } public void setDB(String str) {//set db name
      this.db = str;
     } public void setUser(String str) {//set user name
      this.user = str;
     } public void setPass(String str) {//set user name
      this.pass = str;
     } public ResultSet executeSQL(String str) {
      try{
       Statement stmt = conn.createStatement();
           rs = stmt.executeQuery(str);
           
      }
      catch(Exception e){
       e.printStackTrace();
      }
       return this.rs;
     } 
    }
      

  2.   

    Rs.getXXX(indexOF);时,实参要从第一列开始读,如果直接要读后几列可以给实参用列名,如果要用列号,前提必须是在前几列读出的情况
      

  3.   


    Rs.getXXX(indexOF) 从第一行 rs.getString(1) 读还是不行呀
      

  4.   

    private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;这个有问题!
    你的URL已经先生成了,后面传进去的参数不起作用了,改一下
    public Connection getConn(){//get database connection
      try{
      URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;
       Class.forName("com.mysql.jdbc.Driver");
       DriverManager.registerDriver(new com.mysql.jdbc.Driver());
       conn = DriverManager.getConnection(URL);
      }
      catch(Exception e){
       e.printStackTrace();
      }
       return this.conn ;
     }
      

  5.   


    private URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;生成了,在 conn = DriverManager.getConnection(URL); 调用时候怎么不行了

     搞不明白。都引用参数。
    为什么要写在方法里。
      

  6.   

    我也讨厌这个错误。不知道无偿顶
    不是jdbs驱动的问题,是提示找不到驱动类的。
      

  7.   

    同意chinajava(chinajava) 的说法,请改变连接数据库的写法!将URL的构成丢入getCon()方法中
    在你的JSP中调用SET方法的时候URL已经在内存中分配了一个空间,并且已经赋值了,所以在你调用getCon()的方法的时候并没有将你set的变量赋于URL
      

  8.   

    有一点不是很明白,既然你的bean里面定义了数据库参数,为什么你还要在jsp中使用SET如果你是想可以在JSP中调用不同的数据库.....为什么要把变量做初始化呢?
      

  9.   

    明白了,给分,谢谢csdn上的兄弟们。
      

  10.   

    yaohao803(半日闲) 还有一点不明白
     private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;
    当我调用set的方法时,url里的变理也在变成我方法给的值,
    怎么在调用getconn方法 不能起做用呀在你的JSP中调用SET方法的时候URL已经在内存中分配了一个空间,并且已经赋值了,所以在你调用getCon()的方法的时候并没有将你set的变量赋于URL private 类型可以类被方问
     
    url已结new 出来,怎么在getconn调用不起作用。 迷或
      

  11.   

    因为当你调用set的方法时,你改变的只是server、port、db、user、password的单个值,而URL还是开始时候的初始值。因为你后来没有重新更改URL的值,所以他一直是刚开始构造时的值(尽管其他server\port等都更改了,URL没有更改)
      

  12.   

    上面各位让你把url的组成放在方法里的意思,就是当你更改了那几个单独的值后,顺便也更改URL的值,这样才会起作用
      

  13.   

    chylwk(沧海一浪) 
    搞明白了 文稿哥们