站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题50 分求助一个简单问题!

50 分求助一个简单问题!

摘要: 50 分求助一个简单问题!


package XXX;
import java.util.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Pagi
{
ResultSet CountTopicrs=null; //初始化总记录数Rs变量
ResultSet Pagirs=null; //初始化分页时Rs变量

public int intCountTopic=0; //主题总数
public int intPageSize; //每页显示主题数
public int intPageCount; //总页数
public int intPage=1; //当前页数
// int i;

public String nowPage; //初始化当前页intPage变量,以准确便获取当前页。
public String HttpFile; //当前的地址栏的文件。

Linkdb db; //定义Linkdb类的一个对象。
//定义构造器,初始化每页显示的主题数和数据库的连接。
public Pagi(){
intPageSize=2;
db = new Linkdb();
}

//Countsql:总记录的Query字符串。[形式为select count(*) from tablename]
//Pagisql :要分页的Query字符串。[形式为select * from tablename where ...]
//request :参数传递过程中的变量。[用来控制翻页时的pages变量]

public ResultSet querySql(String Countsql,String Pagisql,HttpServletRequest request)
throws SQLException{
//获取当前文件名。
HttpFile=request.getRequestURI();
//获取当前页,将数值赋予intPage变量。[分页栏中必须要有pages参数]
nowPage=request.getParameter("pages");

if (nowPage==null){intPage=1;}
else{intPage=Integer.parseInt(nowPage);

if (intPage<1) intPage=1;}

//获取总记录数的结果集。
CountTopicrs=db.executeQuery(Countsql);
if (CountTopicrs.next())
{
intCountTopic=CountTopicrs.getInt(1);
}
//获取总页数。
intPageCount = (intCountTopic+intPageSize-1)/intPageSize;
//如果当前页大于总页数,则当前页等于总页数。
if (intPage>intPageCount)
{
intPage=intPageCount;
}
//关闭总主题数的数据集。
CountTopicrs.close();

//获取执行分页的结果集。
Pagirs=db.executeQuery(Pagisql);
return Pagirs;
}//end querySql function.

//获取记录总数。
public int getCountTopic()
{
return intCountTopic;
}

//获取总页数。
public int getPageCount()
{
return intPageCount;
}

//获取当前页数。
public int getIntPage()
{
return intPage;
}

//获取当前页的数据。boodata为True,表示要加入该数据到当前页。
//这里可能会在JSP调用时影响速度[因为调用时要多一层循环],因此放到JSP中嵌入,待改进。
//该代码暂时保留。
// public boolean getData(){
// boolean boodata=false;
// if (intPageCount>0)
// {
// try
// {
// while (Pagirs.next())
// {
// i++;
/// if (i>((intPage-1)*intPageSize) &&(i<=intPage*intPageSize))
// {
// boodata=true;
// }
// } //endwhile.
// }//end try.
// catch(Exception e){
// System.out.println(e.toString());
// }
// } //endif.
// return boodata;
// } //end getData();

//分页栏函数。
public String PageFooter() {
String str = "";
int next, prev;
prev=intPage-1;
next=intPage+1;
str +="共"+getCountTopic()+"篇"+"分"
+getPageCount() + "
页显示";
str +="第"+getIntPage()+"页";
if(intPage>1)
str += " 第一页";
else str += "第一页";

if(intPage>1)
str += " 上一页";
else str += "上一页";

if(intPage str += " 下一页";
else str += "下一页";

if(intPageCount>1&&intPage!=intPageCount)
str += " 最后页";
else str += "最后页";

return str;
}

} //end.

编译不过去!提示:

Pagi.java:21:找不到符号
符号:类Linkdb
位置:类XXX.Pagi
Linkdb db;
Pagi.java:25:找不到符号
符号:类Linkdb
位置:类XXX.Pagi
db = new Linkdb();

2错误


Linkdb 这个类的定义在哪


package XXX;
import java.sql.*;

public class Linkdb {
//String strDriver="org.gjt.mm.mysql.Driver";
String strDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";;
//使用时请具体修改数据库名称,用户名和密码。
//String strConn="jdbc:mysql://localhost/forum?user=root&password=admin";
String strConn="jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=test";
//url = "jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=test";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;

public Linkdb()
{
//连接MySql_jdbc驱动程序
try {
Class.forName(strDriver).newInstance();
}catch(Exception E) {
System.err.println("不能连接sql server数据库!");
}
}
//执行Select语句
public ResultSet executeQuery(String sql){
rs = null;
try {
conn = DriverManager.getConnection(strConn);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}catch(SQLException ex) {
System.err.println("执行SQL语句出错:" + ex.getMessage());
}
return rs;
}

//执行Insert,Update语句
public void executeUpdate(String sql) {
stmt = null;
rs=null;
try {
conn = DriverManager.getConnection(strConn);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex){
System.err.println("执行SQL语句出错: " + ex.getMessage());
}
}

public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}

public void closeConn(){
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}



Linkdb类定义在
package XXX;
import java.sql.*;

public class Linkdb {
//String strDriver="org.gjt.mm.mysql.Driver";
String strDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";;
//使用时请具体修改数据库名称,用户名和密码。
//String strConn="jdbc:mysql://localhost/forum?user=root&password=admin";
String strConn="jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=test";
//url = "jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=test";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;

public Linkdb()
{
//连接MySql_jdbc驱动程序
try {
Class.forName(strDriver).newInstance();
}catch(Exception E) {
System.err.println("不能连接sql server数据库!");
}
}
//执行Select语句
public ResultSet executeQuery(String sql){
rs = null;
try {
conn = DriverManager.getConnection(strConn);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}catch(SQLException ex) {
System.err.println("执行SQL语句出错:" + ex.getMessage());
}
return rs;
}

//执行Insert,Update语句
public void executeUpdate(String sql) {
stmt = null;
rs=null;
try {
conn = DriverManager.getConnection(strConn);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex){
System.err.println("执行SQL语句出错: " + ex.getMessage());
}
}

public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}

public void closeConn(){
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}

Linkdb.java没问题,但Pagi.java不行!高手们帮个忙啊!小弟困惑好久了!


你的开发环境是什么


xp+sql server2000+sp4


开发工具呢




editPuls


你单独编译Linkdb

能不能生成XXX包


out.println("<tr><td align="center">a</td><td align="center">b</td></tr>");
哪个问题已经弄好了!帮我看一下,这有什么问题啊!谢谢


问题全部解决!谢谢了


↑返回目录
前一篇: 胖客户端与瘦客户端
后一篇: 怎么删除已经上传的文件?