请教JSP加TOMCAT加MYSQL的BEAN连接问题,小弟是初学者,问题不难,望各位大侠指点一二,在下万分感激!!!

limaowa 2005-08-23 04:51:37
如标题:
在确认数据库连接成功后(简单JSP页面),我编了一个JSP文件测试BEAN的可靠性,文件如同下:
路径在myapp应用程序目录下(与ROOT并列)的\WEB-INF\classes\test,编译为CLASS文件了。


package test;
import java.sql.*;
import java.util.*;
import java.io.*;
public class faq{

String sDBDriver="com.mysql.jdbc.Driver";
String sConnStr="jdbc:mysql://localhost:3306/ec?autoReconnect=true&useUnicode=true&characterEncoding=GBK";
Connection conn;
Statement stmt;
ResultSet rs;

public faq(){
try{
Class.forName(sDBDriver);
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
}
catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
}

public ResultSet executeQuery(String sql){

try
{
conn=DriverManager.getConnection(sConnStr,"root","035409");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}



主文件如下:文件名zanshi.jsp路径在myapp下;


<%@ page language="java" import="java.io.*" import="java.sql.*" contentType="text/html; charSet=GBK" %>
<jsp:useBean id="workM" scope="page" class="test.faq" type="test.faq"/>
<html>
<head>
<title>mySQL test</title>
</head>
<body>

<%
String sql="select logname,realname from member; ";
ResultSet RS=workM.executeQuery(sql);
out.println(sql);
int rowscount=0;
try
{
while (RS.next())
{
rowscount++;
}

}
catch(Exception e)
{
e.printStackTrace();
}

if(rowscount==0)
{//成功注册
out.println("no such words");
}
else{
out.println("<table border=1 width=400>");
while (rs.next())
{
String col1 = RS.getString(1);
String col2 = RS.getString(2);
String col3 = RS.getString(3);
String col4 = RS.getString(4);
String col5 =RS.getString(5);
String col6 = RS.getString(6);


//打印所显示的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+col4+"</td><td>"+col5+"</td><td>"+col6+"</td></tr>");
}
out.println("</table>");
}

%>
</body>
</html>

结果显示只有select logname,realname from member;
而没有任何数据库数据,请问可能的原因在哪里啊?


在下苦等高手指教!!!!

...全文
91 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
limaowa 2005-08-25

谢了
我先试试看啊
非常感谢啊
回复
amorsuper 2005-08-24
先把Statement stmt=conn.createStatement();
createStatement()改为:
createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)

再在while (RS.next())之前加一行:
RS.beforeFirst();

注意你while循环里面的rs要改为大写的
回复
limaowa 2005-08-24
我在while (rs.next())
{
String col1 = RS.getString(1);
String col2 = RS.getString(2);
String col3 = RS.getString(3);
String col4 = RS.getString(4);
String col5 =RS.getString(5);
String col6 = RS.getString(6);

循环开始之前加了一句
ResultSet RS=workM.executeQuery(sql);
结果完全不能显示啊,报错无法通过编译啊!
请问正确的修改方法是什么啊??
回复
ningshuihan 2005-08-23
第一个循环结束后,游标移到了最后一条记录之后,当然取不到记录了
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2005-08-23 04:51
社区公告
暂无公告