当前位置:首页
开发技术指南» 文章正文
    引言:

 ·+100分,求sql语句    »显示摘要«
    摘要: 我用的是access 数据库procs: id pname typea typeb 数据库typea: id tname 数据库typeb; id tname 这样三个表,由于在procs表中的typea,typeb字端代表相应表中的内容,我想在select procs表中内容时,typea,typeb字缎显示相应typea,typeb表中的名称,请问sql语句怎么写? string sq......
 ·如何通过程序读入分析bmp    »显示摘要«
    摘要: 我看了bmp的结构,但不是明白如何把文件打开后通过程序分析那些域。怎样把文件读进来变成变量呢 ......


睡觉前提个问题。天亮后给分,查了一晚上了,得睡一下了

pstm   =   conn.prepareStatement(sql);  
  rs   =   pstm.executeQuery();  
  rs.last();  
   
   
  上面的代码是用来执行select   语句的。  
  我现在在SQL   SERVER2000中有一条存储过程,目的是插入一条记录,并将该记录的ID值返回给JAVA   BEAN。我把上面的SQL换成存储过程语句,在数据库中插入成功,但返回的时候执行rs.last();发生了错误:  
  org.apache.jasper.JasperException  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
   
  root   cause    
   
  java.lang.NullPointerException  
  com.ideas.bean.ParentBean.insertRecord(ParentBean.java:255)  
  com.ideas.bean.editionBean.add(editionBean.java:68)  
  org.apache.jsp.edition.insert_jsp._jspService(insert_jsp.java:96)  
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
   
   
  各位大侠帮帮忙吧,看看怎么改?  
 

NO.1   作者: kkcheng

pstm   =   conn.prepareStatement(sql);  
  ResultSet   rs   =   pstm.executeQuery();  
  rs.last();

NO.2   作者: kingofhawks

java.lang.NullPointerException  
  可能你在插入的时候就出错了...所以你在查询的时候查到为空,last的时候又出Exception...

NO.3   作者: sgdb

存储过程不是这么执行的吧  
   
  用CallableStatement   cstmt   =   conn.prepareCall(procedure);  
  执行存储过程  
 

NO.4   作者: kingofhawks

老大,你的代码真的好乱...不知道你到底想要干什么,你的一个statement既执行insert,又执行query,   不出错才怪呢!  
  你还是先去看看怎么调用存储过程,怎么注册参数吧.  
  而且你的存储过程都没有调用cstmt.execute()啊.  
  并且,你的Sql传进来的应该是call   yourproc,你执行完之后,怎么还能用那个cstmt   去做查询呢,建议你还是只在procedure中做insert,然后另外用一个statement去做查询吧.

NO.5   作者: didu811

你的ResultSet被设成了TYPE_FORWARD_ONLY   方式,即纪录集只能向前滚动,所以用rs.last()这样想后滚动的方法就出错了。  
   
  stmt   =   con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,    
  ResultSet.CONCUR_READ_ONLY);    
  System.out.println(   sql   );    
  rs   =   stmt.executeQuery(   sql   );   //建立ResultSet(结果集)对象,并执行SQL语句    
  rs.last();   //将指标移至最后一笔记录    
 

NO.6   作者: hlnccc

错误为:java.sql.SQLException:   [Microsoft][SQLServer   JDBC   Driver]No   ResultSet   set   was   produced.  
  ------------------------------------------------  
  不是说没有产生   ResultSet么,是不是你执行的操作有问题?比如从一个插入操作或得记录集?  
  而且,你前面  
  java.lang.NullPointerException                 空指针异常,有为空的对象被操作了  
   
  com.ideas.bean.ParentBean.insertRecord(ParentBean.java:255)      
                                  ParentBean.java的255行是什么?这里报错  
   
  com.ideas.bean.editionBean.add(editionBean.java:68)  
                                  editionBean.java   的68行应该是你调用ParentBean.java吧  
  org.apache.jsp.edition.insert_jsp._jspService(insert_jsp.java:96)  
   
  另外,sqlServer是绝对可以用存储过程返回值的,  
 


    摘要: 有哪位大侠可以给个例子吗? 我想实现新闻表中插入新纪录时标识唯一的字段id可以自动插入,所以要先取得表中id的最大值,然后加1 sql="select * from dyxx order by id desc" 数据库连接程序得到数据集以后,可以使用rs.next();方法,然后使用int id=rs.getint("id")+1;得到新插入的记录的......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE