CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp和SQL Server 2000 的问题

楼主xiciliu()2005-02-28 15:27:47 在 Java / Web 开发 提问

做了个jsp,里面嵌入了个bean  
  用jsp页面查询数据库得到的结果全都是0000,  
  而将这个jsp中嵌入的bean   class改为Application   运行时,却能得到正确的数据库查询结果  
   
  这是为什么呢?  
  难道时用jsp时,没有能执行数据库查询吗?  
  为什么不能呢?  
   
  比如,你要查询的某项记录数据为int型的   289  
  结果返回来的是int型的   0  
   
  补充强调一点的是,使用access数据库,jsp完全没有问题。  
  而使用SQL   Server   2000   就出现这个问题  
  所以是不解中ing  
   
  清高手帮忙解决!!!!! 问题点数:50、回复次数:16Top

1 楼maweihua(laoma)回复于 2005-02-28 15:59:33 得分 15

我的就是sql   server   2000,怎么没问题,但据说微软的jdbc很不好用(用心很险恶)Top

2 楼zjpangxie(专用马甲)回复于 2005-02-28 16:20:01 得分 2

既然bean没错,那问题就可能出在调用bean或调用后显示的地方。。。  
   
  没有代码无法判断。。。Top

3 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-02-28 16:22:26 得分 2

呵呵。看看吧Top

4 楼xiciliu()回复于 2005-02-28 16:26:17 得分 0

经过调试  
  在如果是通过jsp运行bean,则int结果返回为   0  
  因为查询的结果在bean中就即为   0   了  
  所以不是显示的问题  
  改为查询access数据库,完全是正常的  
  所以说明程序看起来是没有问题的  
  为什么就在查询SQL是出问题呢?Top

5 楼psyl(蓝法典)回复于 2005-02-28 16:29:42 得分 0

sjcp考试哪报名   ?Top

6 楼xiciliu()回复于 2005-02-28 16:30:04 得分 0

代码?太长了:)Top

7 楼joyaga(joyaga)回复于 2005-02-28 16:30:24 得分 2

只有把代码贴出来看看了Top

8 楼xiciliu()回复于 2005-02-28 16:35:28 得分 0

我检些出来  
  Top

9 楼joyaga(joyaga)回复于 2005-02-28 16:37:14 得分 2

说说看Top

10 楼xiciliu()回复于 2005-02-28 16:38:21 得分 0

------------jsp-----------------  
  <%@   page   contentType="text/html;   charset=ISO8859_1"%>  
  <%@   page   import="java.sql.*"%>  
  <%@   page   import="java.io.*"%>  
  <%@   page   import="java.text.*"%>  
  <%@   page   buffer="20kb"%>  
  <%@   page   import="test.week.ChartWeek"   %>    
  <html><body><center>    
  <%--response.setHeader("Refresh","2");--%><!--设定页面刷新时间-->  
  <jsp:useBean   id="cg"   class="test.week.ChartWeek"   scope="application"/>    
  <%  
  cg.gGeneration();  
  %>  
  .......Top

11 楼dfdg002(大幅度感)回复于 2005-02-28 16:45:39 得分 0

欢迎加入JAVA   QQ群   9852769Top

12 楼xiciliu()回复于 2005-02-28 16:49:09 得分 0

---------------bean-----------  
  public   class   ChartWeek  
  {  
  .....  
  public   void   gGeneration(){//float   []   heightA)   {    
   
  ............  
  xPce=new   int[length];  
                    yDate=new   int[length];  
  GetData   instance=new   GetData(length);  
  xPce=instance.getXPce();  
  yData=instance.getYData();  
  .........  
  }  
  class   GetData   {  
  .........  
  public   GetData(int   n){  
  weekNum=n;  
  yData=get(1);  
  }  
   
                    public   float[]   getXPce()   {    
  return   xPce;  
  }    
  public   int[]   getYData(){  
  return   yData;  
  }  
   
      public   int[]   get(int   type){  
      int   []   temp=new   int[weekNum];  
  temp=getByWeek(year);  
  xPce=new   float[weekNum];  
  for(int   i=0;i<temp.length;i++){  
  //System.out.println("yData["+i+"]   :"+temp[i]+"   ");  
  xPce[i]=(float)temp[i]/(float)(5*licenseNum*60*8);//5天工作日  
  System.out.println(temp[i]+"   "+xPce[i]+"   "+5*licenseNum*60*8);  
  }  
  return   temp;  
      }  
      public   int   getTime(String   dev   ,   java.util.Date   start   ,   java.util.Date   end){  
      //单位:minute  
  int   time=0;  
  //从视图中去查询结果  
  //access  
  //String   exeStr="select   DISTINCTROW   sum(Usingtime)   from   Worked   where   (((Outtime   between   #"+start.toLocaleString()+"#   and   #"+end.toLocaleString()+"#)   OR   (Intime   between   #"+start.toLocaleString()+"#   and   #"+end.toLocaleString()+"#)   OR   (Outtime   <=   #"+start.toLocaleString()+"#   and   Intime   >=   #"+end.toLocaleString()+"#))   and   (Licensename   in   ('board_s','boarddes_c','designarch_c')))";  
  //SQL   Server  
  String   exeStr="select   sum(Usingtime)   from   Worked   where   (((Outtime   between   '"+start.toLocaleString()+"'   and   '"+end.toLocaleString()+"')   OR   (Intime   between   '"+start.toLocaleString()+"'   and   '"+end.toLocaleString()+"')   OR   (Outtime   <=   '"+start.toLocaleString()+"'   and   Intime   >=   '"+end.toLocaleString()+"'))   and   (Licensename   in   ('board_s','boarddes_c','designarch_c')))";  
  //使用SQLServer   2000时要求去掉distinctrow   修饰  
  try{  
  Class.forName(Conn.jdbcDriver);  
  conn   =   DriverManager.getConnection(Conn.dbpath,Conn.user,Conn.password);  
  stmt   =   conn.createStatement();  
  rs=stmt.executeQuery(exeStr);  
  teststring=exeStr;  
  while(rs.next()){  
  time=rs.getInt(1);  
  testpoint++;  
  }  
  }  
  catch(SQLException   se){exception.append(se.getMessage());se.printStackTrace();}  
  catch(Exception   e){e.printStackTrace();}  
  finally{  
  close();  
  }  
  return   time;  
      }  
      public   int[]   getByWeek(String   year){  
      int   yearInt=Integer.parseInt(year);  
  int   []   year_week=new   int[weekNum];  
  java.util.Date   start=new   java.util.Date();  
  java.util.Date   end=new   java.util.Date();  
  int   month1=0;  
  int   month2=0;  
  start.setMonth(0);  
  start.setDate(3);  
  start.setHours(0);  
  start.setMinutes(0);  
  start.setSeconds(0);  
  end.setMonth(0);  
  end.setDate(9);  
  end.setHours(0);  
  end.setMinutes(0);  
  end.setSeconds(0);  
  for(int   i=1;i<=weekNum;i++)  
      {  
  //初始第一周   01/03--01/09  
  //选择调取数据  
  year_week[i-1]=getTime("all",start,end);  
  System.out.println(year_week[i-1]+"   start   "+start.toLocaleString()+"   end   "+end.toLocaleString());  
   
  start.setDate(start.getDate()+7);  
  end.setDate(end.getDate()+7);  
      }  
  return   year_week;  
      }  
  ...........  
  }Top

13 楼enjoy330(*寒林*)回复于 2005-02-28 17:07:15 得分 27

是不是你的bean没得到数据,只是一个初始话的直。或者状态没保持住。  
    ms的JDBC是很恶心的。不过,既然你说application没问题,估计问题也不在这。  
   
  建议使用开源SourceForge的jtds.  
  jtds-0.8.1.jar放在如:E:\j2sdk1.4.2\jre\lib\ext下,就可用。环境变量都不用设  
   
  public   static   final   Connection   getSQLServerConByJTDS()   throws   Exception  
          {  
                  try   {  
                                  Class.forName("net.sourceforge.jtds.jdbc.Driver");  
                                  connection   =   DriverManager.getConnection("jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=yfweb","yfuser"   ,"yfuser"   );  
                  }  
                  catch   (Exception   ex)   {  
                          System.out.println("[getSQLServerConnection]   error   :   "   +   ex.getMessage());  
                  }  
                  return   connection;  
   
          }       //   end   getSQLServerConnection  
  Top

14 楼xiciliu()回复于 2005-03-01 08:31:26 得分 0

我试试看~~Top

15 楼xiciliu()回复于 2005-03-01 10:20:14 得分 0

Exception:com.microsoft.jdbc.sqlserver.SQLServerDriver  
  用ms的jdbc时是出现了异常,就是惟独出现在jsp中  
   
  jtds好象还是要设置的吧  
  找不到class中Top

16 楼xiciliu()回复于 2005-03-01 14:39:22 得分 0

顶Top

相关问题

  • jsp与SQL Server
  • jsp + ms sql server 2000
  • jsp 和SQL SERVER 连接的问题
  • JSP写 sql server 库问题
  • JSP写 sql server 库问题
  • jsp 连 sql server 的问题
  • jsp连接SQL SERVER失败?
  • jsp+resin+sql server jsp连接sql server的问题?????
  • 小弟刚学jsp,有个问题.(jsp和sql server 2000的连接)
  • 我的jsp和sql server 2000问题(那边人少)谢谢!

关键词

  • sql server 2000
  • 数据库
  • 查询
  • jsp
  • sql
  • xpce
  • ydata
  • weeknum
  • 问题
  • getdata

得分解答快速导航

  • 帖主:xiciliu
  • maweihua
  • zjpangxie
  • jFresH_MaN
  • joyaga
  • joyaga
  • enjoy330

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo