首先得把你的mysql的连接jar包导入到Web App Libraries
如下图显示,mysql-connector-java-5.1.24-bin-jar位于Web App Libraries下
假如没有这个jar包,从网上下载
接着给你连接的代码
<%
Class.forName("com.mysql.jdbc.Driver")
String url = "jdbc:mysql://localhost/bbs?user=root&password=root"
Connection conn = DriverManager.getConnection(url)
Statement stmt = conn.createStatement()
ResultSet rs = stmt.executeQuery("select * from article where pid = " + 0)
if (rs.next()) {
if(rs.getInt("isleaf")!=0) {
tree(conn,rs.getInt("pid"),1)
}
}
%>
这样就连接上了
String url = "jdbc:mysql://localhost/bbs?user=root&password=root"中,bbs是我自己定义的数据库,user=root&password=root就是你登录时的用户名与密码,其它的一样就可以了
问题应该在这:if(rs.next())
{
username
=
rs.getString(1)
//------------------------
flag
=
true
}
改成:
while(rs.next()){
if(username
==
rs.getString(1))
flag
=
true
}
你的if(rs.next())只是判断rs是否为null。按你的SQL查处的name。虽然有值,但是你已经.next()了。所以你在rs.getString(1)就娶不到值。username
=
rs.getString(1)username就为Null.如果想这样写,就要在加一个
rs.previous();把游标在移回前一单元。
我想应该是这个问题。
=================================
回复楼下的,我说的怎么不对了?有什么毛病么?如果rs为空,他肯定不会运行,直接报异常了。我说的根本也不是那内容啊。我解释的是
结果集
游标的问题。
在这一句con=DriverManager.getConnection(url,User,Pw)下边加一句System.outprintln(con)看是否数据库连接成功,如果不成功则检查Class.forName("com.mysql.jdbc.Driver")括号内的驱动是否可以用,若加载成功则这一句改成sql = "SELECT * FROM login WHERE username = ? and password= ?" 这是预处理机制,细心调试总会成功的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)