CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp访问数据库问题(在线等待答案谢谢)

楼主wanggouzi(蚂蚁)2002-07-08 13:48:08 在 Java / Web 开发 提问

db是自写的一个访问数据库的javaBean,通过测试使用没问题,并且数据库中的字段都存在,访问的是SQLSever数据库,抛出异常java.sql.SQLException:   [Microsoft][ODBC   SQL   Server   Driver]无效的描述符索引  
  <jsp:useBean   id="db"   scope="page"   class="db.DBConn"/>  
                              <%try{  
      db.createStatement();  
      String   sql="select   top   5   WriteTime   a,Topic,Content   from   t_publicinfo";  
      ResultSet   rs=db.executeQuery(sql);  
      System.out.println(sql);  
    while   (rs.next())  
    {  
    out.print("<td   height=25   bgcolor=#F0F0F0><font   color=#808080>"+rs.getString("Topic")+"</font></td>");  
    out.print("<td   height=25   bgcolor=#F0F0F0><font   color=#808080>"+rs.getString("Content")+"</font></td>");  
    out.print("<td   align=center   height=25   bgcolor=#F0F0F0><font   color=#808080>"+rs.getString("a")+"</font></td>");  
    out.print("</font></td></tr>");  
    }  
      db.close();  
      }catch(SQLException   e)  
      {out.print(e.toString());}  
      %>  
   
  但是把rs.getString("WriteTime")屏蔽掉就不出问题了,writetime是时间类型的字段 问题点数:50、回复次数:14Top

1 楼wanggouzi(蚂蚁)回复于 2002-07-08 13:51:30 得分 0

upTop

2 楼xmvigour(微电-THINKING IN APP)回复于 2002-07-08 13:55:03 得分 0

rs.getString("WriteTime")  
  换成rs.getString(1)试试看!  
   
  还有   那个WriteTime在数据库里是不是null?Top

3 楼wanggouzi(蚂蚁)回复于 2002-07-08 13:56:47 得分 0

:(   试了还是不行,不是nullTop

4 楼qxjavajava(射手座 =---&gt;静静看那流光飞舞)回复于 2002-07-08 13:57:43 得分 10

在sql的类型(TIME),转变成java类型应该用java.sql.Time  
  类型转换.Top

5 楼zhangbin_zhang(cat)回复于 2002-07-08 13:59:23 得分 0

Date   date=rs.getDate("WriteTime");  
  试试看。  
  Top

6 楼qxjavajava(射手座 =---&gt;静静看那流光飞舞)回复于 2002-07-08 13:59:54 得分 0

sql中的time类型,应该用java.sql.Time类去类型转化吧。Top

7 楼wanggouzi(蚂蚁)回复于 2002-07-08 14:00:07 得分 0

不是null,刚该了,试了,还是不行,是不是和字段是时间有关系,在数据库里面writetime是datetime类型Top

8 楼qxjavajava(射手座 =---&gt;静静看那流光飞舞)回复于 2002-07-08 14:01:38 得分 0

sql的time类型,应该用java.sql.Time类进行类型转化吧。Top

9 楼zhangbin_zhang(cat)回复于 2002-07-08 14:01:38 得分 0

java.sql.Date   date=rs.getDate("WriteTime");  
  试试看。Top

10 楼zhangbin_zhang(cat)回复于 2002-07-08 14:02:57 得分 0

Date   date=rs.getDate("WriteTime");  
  试试看。  
  Top

11 楼xmvigour(微电-THINKING IN APP)回复于 2002-07-08 14:04:45 得分 10

select   top   5   WriteTime   a,Topic,Content   from   t_publicinfo  
  把记录打印出来看看  
   
  然后用数字比较好rs.getString(1),rs.getString(2),……  
  Top

12 楼xmvigour(微电-THINKING IN APP)回复于 2002-07-08 14:07:16 得分 0

select   top   5   WriteTime   a,Topic,Content   from   t_publicinfo  
  把记录打印出来看看  
   
  然后用数字比较好rs.getString(1),rs.getString(2),……Top

13 楼zhangbin_zhang(cat)回复于 2002-07-08 14:08:03 得分 0

java.sql.Time   writetime=rs.getTime("WriteTime");  
  应该对了吧。  
   
  CSDN又出问题了,我只回复了一次怎么出来这么多??Top

14 楼wanggouzi(蚂蚁)回复于 2002-07-08 14:17:29 得分 0

是呀我也觉得奇怪,我刚才都试了,都可以date,time都行不过出现了又一个问题,我是这样写的  
  Date   d=rs.getDate("WriteTime");  
  String   s=d.toString();  
  out.print(s);  
  这样会显示正确时间  
  但是下面这样会继续报错,和原来的错误一样javax.servlet.ServletException:   [Microsoft][ODBC   SQL   Server   Driver]无效的描述符索引  
  out.print(rs.getDate("WriteTime").toString());Top

15 楼zhangbin_zhang(cat)回复于 2002-07-08 14:23:35 得分 0

难道真的是"WriteTime"出问题了?  
  试了换成rs.getDate(1),rs.getDate(2)........了吗?Top

16 楼wanggouzi(蚂蚁)回复于 2002-07-08 14:26:12 得分 0

用getDate(1)或者getTime(1)都行,都成功了但是书写形式不一样它也报错  
  Date   d=rs.getDate("WriteTime");  
  String   s=d.toString();  
  out.print(s);  
  这样会显示正确时间  
   
   
  但是下面这样会继续报错,和原来的错误一样javax.servlet.ServletException:   [Microsoft][ODBC   SQL   Server   Driver]无效的描述符索引  
  out.print(rs.getDate("WriteTime").toString());  
  Top

17 楼zhangbin_zhang(cat)回复于 2002-07-08 14:32:36 得分 30

你是不是将调试用的  
  Date   d=rs.getDate("WriteTime");  
  String   s=d.toString();  
  out.print(s);  
  和你的jsp写到了一起了?  
  要把凋试用的东西删了。  
  一个rs不能get两次。  
  Top

18 楼wanggouzi(蚂蚁)回复于 2002-07-08 15:56:48 得分 0

是呀,呵呵,我get了两次,那该怎么办,我想显示时间日期应该怎么写,问题有点幼稚,见笑了,刚才因为网断了,所以没上的来Top

19 楼amy_jiang(jiangjiang)回复于 2002-07-08 16:03:37 得分 0

用rs.getTimestamp可以吗Top

20 楼wanggouzi(蚂蚁)回复于 2002-07-08 16:08:36 得分 0

呵呵,是get了两次,谢谢大家Top

相关问题

  • JSP中访问数据库
  • 关于JSP数据库访问(help me!!!!)
  • JSP访问数据库错误。
  • jsp如何访问sql数据库
  • jsp+bean访问数据库的问题!!
  • jsp 下访问MYSQL数据库的问题
  • JSP如何访问本地数据库!
  • 在JSP中用JAVABEAN访问数据库
  • 访问数据库???
  • 访问数据库

关键词

  • 数据库
  • 字段
  • date
  • microsoft
  • sql
  • writetime
  • getdate
  • rs
  • 类型
  • 报错

得分解答快速导航

  • 帖主:wanggouzi
  • qxjavajava
  • xmvigour
  • zhangbin_zhang

相关链接

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

广告也精彩

反馈

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