回 帖 发 新 帖 刷新版面

主题:[讨论]JDBC连接不上Mysql数据库

下面是我的代码,请问是什么原因连接不上数据库,我想问一下是不是数据库存放的位子有关?
请知道的速回!
<%@ page contentType="text/html;charset=gb2312"%>
<%-- 导入java.sql包,表示要使用数据库操作 --%>
<%@ page import="java.sql.*"%>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<center>
    <h1>登陆范例——用户名及密码固定</h1>
    <hr>
    <br>
    <br>
    <%
        // 接收请求的内容
        String name = request.getParameter("uname") ;
        String password = request.getParameter("upassword") ;

        // 定义变量,如果用户是合法用户,则将此标记变为true
        boolean flag = false ;
    %>
    <%
        // 定义数据库操作的常量、对象
        // 数据库驱动程序
        final String DBDRIVER    = "com.mysql.jdbc.Driver" ;
        // 数据库连接地址mldn?person
        final String DBURL        = "jdbc:mysql://localhost:3306/mldn" ;
        // 数据库用户名
        final String DBUSER        = "root" ;
        // 数据库连接密码
        final String DBPASSWORD    = "root" ;
        // 声明一个数据库连接对象
        Connection conn            = null ;
        // 声明一个数据库操作对象
        PreparedStatement pstmt    = null ;
        // 声明一个结果集对象
        ResultSet rs            = null ;
        // 声明一个SQL变量,用于保存SQL语句
        String sql = null ; 
    %>
    <%
        // 进行数据库操作
        try
        {   
            // 编写SQL语句
            sql = "SELECT name FROM person WHERE id=? and password=?" ;
            // 加载驱动程序
            Class.forName(DBDRIVER).newInstance();  
            // 连接数据库
            conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
            // 实例化数据库操作对象
            pstmt = conn.prepareStatement(sql) ;
            // 设置pstmt的内容
            pstmt.setString(1,name) ;
            pstmt.setString(2,password) ;
            // 查询记录
            rs = pstmt.executeQuery() ;
            // 判断是否有记录
            if(rs.next())
            {
                // 如果有记录,则执行此段代码
                // 用户是合法的,可以登陆
                flag = true ;
            }
            // 依次关闭
            rs.close() ;
            pstmt.close() ;
            conn.close() ;
        }
        catch(Exception e)
        {}
    %>
    <%
        // 判断用户名及密码
        if(flag)        
        {
            // 合法用户
    %>
            <jsp:forward page="login_success.jsp"/>
    <%
        }
        else
        {
            // 非法用户
    %>
             <jsp:forward page="login_failure.jsp"/>
    <%
        }
    %>
</center>
</body>
</html>

回复列表 (共2个回复)

沙发

sql = "SELECT name FROM person WHERE id=? and password=?" ;

pstmt.setString(1,name) ;
pstmt.setString(2,password) ;

id!=name

所以rs.next()=false

不知道你连不上mysql是什么定义

板凳


用客户端可以连上吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册