这个是编写的javabean,用来从数据库里面获取数据,并且分页显示,为什么字段都能查出来,而字段里的数据什么都没有,一片空白的呢??大家看看哪里有问题,感谢了。
package beans;
import java.sql.*;
import com.sun.rowset.*;
public class ShowRecordByPage{
int pageSize=10;
int pageAllCount=0;
int showPage=1;
StringBuffer presentPageResult;
CachedRowSetImpl rowSet;
String databaseName="";
String tableName="";
String user="";
String password="";
String 字段[]=new String[100];
int 字段个数=0;
public ShowRecordByPage(){
presentPageResult=new StringBuffer();
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
}
public void setPageSize(int size){
pageSize=size;
字段个数=0;
String uri="jdbc:mysql://localhost/"+databaseName;
try{
Connection con=DriverManager.getConnection(uri,user,password);
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null,null,tableName,null);
int k=0;
while(rs1.next()){
字段个数++;
字段[k]=rs1.getString(4);
k++;
}
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=sql.executeQuery("select * from"+tableName);
rowSet=new CachedRowSetImpl();
rowSet.populate(rs);
con.close();
rowSet.last();
int m=rowSet.getRow();
int n=pageSize;
pageAllCount=((m%n)==0)?(m/n):(m/n+1);
}
catch(SQLException exp){
System.out.print("error");
}
}
public int getPageSize(){
return pageSize;
}
public int getPageAllCount(){
return pageAllCount;
}
public void setShowPage(int n){
showPage=n;
}
public int getShowPage(){
return showPage;
}
public StringBuffer getPresentPageResult(){
if(showPage>pageAllCount)
showPage=1;
if(showPage<=0)
showPage=pageAllCount;
presentPageResult=show(showPage);
return presentPageResult;
}
public StringBuffer show(int page){
StringBuffer str=new StringBuffer();
str.append("<table border=1>");
str.append("<tr>");
for(int i=0;i<字段个数;i++)
str.append("<th>"+字段[i]+"</th>");
str.append("</tr>");
try{
rowSet.absolute((showPage-1)*pageSize+1);
for(int i=1;i<=pageSize;i++){
str.append("<tr>");
for(int k=1;k<=字段个数;k++)
str.append("<td>"+rowSet.getString(k)+"</td>");
str.append("</tr>");
rowSet.next();
}
}
catch(SQLException exp){
System.out.print("error2");
}
str.append("</table>");
return str;
}
public void setDatabaseName(String s){
databaseName=s.trim();
}
public String getDatabaseName(){
return databaseName;
}
public void setTableName(String s){
tableName=s.trim();
}
public String getTableName(){
return tableName;
}
public void setPassword(String s){
password=s.trim();
}
public void setUser(String s){
user=s.trim();
}
public String getUser(){
return user;
}
}
package beans;
import java.sql.*;
import com.sun.rowset.*;
public class ShowRecordByPage{
int pageSize=10;
int pageAllCount=0;
int showPage=1;
StringBuffer presentPageResult;
CachedRowSetImpl rowSet;
String databaseName="";
String tableName="";
String user="";
String password="";
String 字段[]=new String[100];
int 字段个数=0;
public ShowRecordByPage(){
presentPageResult=new StringBuffer();
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
}
public void setPageSize(int size){
pageSize=size;
字段个数=0;
String uri="jdbc:mysql://localhost/"+databaseName;
try{
Connection con=DriverManager.getConnection(uri,user,password);
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null,null,tableName,null);
int k=0;
while(rs1.next()){
字段个数++;
字段[k]=rs1.getString(4);
k++;
}
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=sql.executeQuery("select * from"+tableName);
rowSet=new CachedRowSetImpl();
rowSet.populate(rs);
con.close();
rowSet.last();
int m=rowSet.getRow();
int n=pageSize;
pageAllCount=((m%n)==0)?(m/n):(m/n+1);
}
catch(SQLException exp){
System.out.print("error");
}
}
public int getPageSize(){
return pageSize;
}
public int getPageAllCount(){
return pageAllCount;
}
public void setShowPage(int n){
showPage=n;
}
public int getShowPage(){
return showPage;
}
public StringBuffer getPresentPageResult(){
if(showPage>pageAllCount)
showPage=1;
if(showPage<=0)
showPage=pageAllCount;
presentPageResult=show(showPage);
return presentPageResult;
}
public StringBuffer show(int page){
StringBuffer str=new StringBuffer();
str.append("<table border=1>");
str.append("<tr>");
for(int i=0;i<字段个数;i++)
str.append("<th>"+字段[i]+"</th>");
str.append("</tr>");
try{
rowSet.absolute((showPage-1)*pageSize+1);
for(int i=1;i<=pageSize;i++){
str.append("<tr>");
for(int k=1;k<=字段个数;k++)
str.append("<td>"+rowSet.getString(k)+"</td>");
str.append("</tr>");
rowSet.next();
}
}
catch(SQLException exp){
System.out.print("error2");
}
str.append("</table>");
return str;
}
public void setDatabaseName(String s){
databaseName=s.trim();
}
public String getDatabaseName(){
return databaseName;
}
public void setTableName(String s){
tableName=s.trim();
}
public String getTableName(){
return tableName;
}
public void setPassword(String s){
password=s.trim();
}
public void setUser(String s){
user=s.trim();
}
public String getUser(){
return user;
}
}
解决方案 »
- 有什么方法可以检查上传的附件
- spring中jsp数据显示问题。
- eslipse+tomcat做的注册系统运行后抛出下面的异常
- 在JBuilder2006中编译出错: javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "value
- 如何备份文本文件?
- 已经编译通过并成功访问的jsp页面,过端时间登录经常出现下面的错误~~求教!!
- 请问哪里有jsp写的vod视频点播系统可以下载?
- 如何将数字转换成字符串???
- 软件!看看
- 在Linux中使用JDBC连接OACLE数据库的问题?
- struts2标签内容过长导致IE8、IE9死掉而IE7、IE6正常
- struts2 中使用<s:checkbox>标签的问题
try{
rowSet.absolute((showPage-1)*pageSize+1);
for(int i=1;i<=pageSize;i++){
str.append("<tr>");
for(int k=1;k<=字段个数;k++)
str.append("<td>"+rowSet.getString(k)+"</td>");
str.append("</tr>");
rowSet.next();
}
}
catch(SQLException exp){
System.out.print("error2");
}
这段不是接收字段里面数据的值吗?