当前位置:  技术问答>java相关

如何返回查询结果ResultSet中int类型的数据

    来源: 互联网  发布时间:2015-06-20

    本文导语:  使用JDBC连接数据库,查询某表中数据,结果返回至ResultSet rs 可正常获得字符类型数据rs.getString("..."), 但对于int类型数据            使用rs.getString("...")产生类型不匹配错误            使用rs.getInt("...")产生服...

使用JDBC连接数据库,查询某表中数据,结果返回至ResultSet rs
可正常获得字符类型数据rs.getString("..."),
但对于int类型数据
           使用rs.getString("...")产生类型不匹配错误
           使用rs.getInt("...")产生服务器内部错误(500 Internal server...)
希望能得到大家的帮助,非常感谢!

|
protected String helper (ResultSet rs, int dataType, int col) 
throws SQLException
    {
String retVal = null;
Integer intObj;

// ask for data depending on the datatype
switch(dataType) {
case Types.DATE:
    java.sql.Date date = rs.getDate(col);
    retVal = date.toString();
    break;
case Types.TIME:
    java.sql.Time time = rs.getTime(col);
    retVal = time.toString();
    break;
case Types.TIMESTAMP:
    java.sql.Timestamp timestamp = rs.getTimestamp(col);
    retVal = timestamp.toString();
    break;
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR:
    retVal = rs.getString(col);
    break;
case Types.NUMERIC:
case Types.DECIMAL:
    java.math.BigDecimal numeric = rs.getBigDecimal(col, 10);
    retVal = numeric.toString();
    break;
case Types.BIT:
    boolean bit = rs.getBoolean(col);
    Boolean boolObj = new Boolean(bit);
    retVal = boolObj.toString();
    break;
case Types.TINYINT:
    byte tinyint = rs.getByte(col);
    intObj = new Integer(tinyint);
    retVal = intObj.toString();
    break;
case Types.SMALLINT:
    short smallint = rs.getShort(col);
    intObj = new Integer(smallint);
    retVal = intObj.toString();
    break;
case Types.INTEGER:
    int integer = rs.getInt(col);
    intObj = new Integer(integer);
    retVal = intObj.toString();
    break;
case Types.BIGINT:
    long bigint = rs.getLong(col);
    Long longObj = new Long(bigint);
    retVal = longObj.toString();
    break;
case Types.REAL:
    float real = rs.getFloat(col);
    Float floatObj = new Float(real);
    retVal = floatObj.toString();
  break;
case Types.FLOAT:
case Types.DOUBLE:
  double longreal = rs.getDouble(col);
  Double doubleObj = new Double(longreal);
  retVal = doubleObj.toString();
  break;
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
  byte[] binary = rs.getBytes(col);
  retVal = new String(binary);
  break;
}
return retVal;

    }

把所有的方法给你:
你的rs.getInt("...")中的字段为整型吗?

|
可能是你的字段类型不是int型的,可以先getString(),再

Integer.parseInt(s);

|
用rs.getString("...").trim()

|
rs.getObject("d");

|
ResultSetMetaData 
int getColumnType(int column) 
          Retrieves the designated column's SQL type. 


    
 
 

您可能感兴趣的文章:

  • 为什么一个ejb的bean中的一个方法在返回一个ResultSet时报错,如何返回一个结果集
  • 我想问的是,返回的 ResultSet 中的某个字段(int 型),如何放到一个 int[]数组里去。因为 ResultSet 不知道怎样取 size,我又不想用 vector, ResultSet的getArray()方法也是莫名其妙。
  • EJB的函数中是不是不能返回ResultSet型的数据?
  • 如何得到一个resultSet的长度,即一条select语句返回了多少符合条件记录
  • 为什么我用ResultSet的getRow()方法时总是返回0???
  • ejb返回ResultSet,做法科学吗
  • 请问ResultSet返回的是全部数据,还是指针,还是其他什么?
  • 关于bean中的resultset返回值的疑问?????????
  • 一个方法中,用Connection con变量连接数据库,执行完sql以后,关闭con,返回resultset,报错“关闭的连接: next”
  • 菜鸟提问:在数据库方面,对于结果集ResultSet,是否有方法返回其记录条数??
  • jdbc的ResultSet能否用储存过程返回多个数据集?
  • 请问一个关于数据库的查询结果返回resultset的问题
  • ResultSet类中哪个方法是返回找到的记录数的,好象没有啊~~~
  • 如何返回ResultSet的结果数?
  • 如何把JDBC返回的ResultSet转化为XML
  • 请问如何再jsp里引用javabean里返回的resultset?
  • 一个以ResultSet为参数,返回Vector的方法总是发生异常,兄弟们帮看看!
  • 请问一个方法的返回值类型为一个复数,那么怎样定义这个方法的返回值类型
  • 因为mmap函数返回值是void*类型,是否可以将其强制转换成char*类型,按字符串操作,然后将修改重新写入内存映像即可????
  • java协变返回类型使用示例
  • Overloading的每个同名方法的访问控制符和返回类型能不能不同啊?
  • 表格控件的getValueAt(int,int)返回的什么类型,要转换成String该怎么做?
  • 请问调用那个方法能够得到变量类型的返回值?
  • Vxworks下,调用semBCreate返回值类型是什么?
  • 请教关于void类型返回值的问题。
  • 紧急!!如何使rs.getFloat().toString()在获取很大decimal类型字段时返回正常的字符显示,而不是科学计数方式??
  • 使用jdom遇到的莫名其妙的问题(有关Element.getChildren()返回类型?)
  • 奇怪了,unsigned int的数<<9,返回long long类型的结果出错呢?
  • 请教关于void类型返回值的问题。 iis7站长之家
  • 请教返回方法的类型问题.
  • 关于datainputStream 中readline()方法返回类型的问题!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Bitsets 成员 any():如果有任何一个位被设置就返回true
  • 如果用类作返回值,在JAVA中返回的是地址还是要返回的类的一个拷贝???
  • C++ Double Ended Queues(双向队列) 成员 empty():返回真如果双向队列为空
  • 请问在脚本里怎么得到一个程序运行的返回值,脚本怎么返回值?
  • C++ I/O 成员 bad():如果出现错误则返回true
  • linux c编程:怎么从键盘只读取一个字符就返回,不要回车后才返回
  • C++ I/O 成员 fail():如果出现错误则返回true
  • 在shell中,返回值为零表示成功,非零值为失败。 这个返回值存放在哪个变量中?
  • C++ Stacks(堆栈) 成员 empty():堆栈为空则返回真
  • system()函数返回什么值时,该函数执行成功?返回什么值时,执行出现错误?谢谢
  • C++ Maps 成员 empty():如果map为空则返回true
  • java 中 SOCKET 的ACCEPT函数有返回值吗?怎样返回才是正常的?
  • C++ Priority Queues(优先队列) 成员 empty():如果优先队列为空,则返回真
  • 当close(socket)时,为什么linux下slect不返回而windows下就返回??????????
  • C++ Strings(字符串) 成员 empty():如果字符串为空,返回真
  • 公司要给客户做报表,从数据库返回数据,他们死活要返回的格式为Excel格式,请问我怎样才能把数据库返回的数据存为Excel的格式?
  • C++ Bitsets 成员 none():如果没有位被设置则返回true
  • linux串口读取read函数始终返回值为1,没有返回读到的字符数
  • C++ MultiMaps 成员 empty():如果multimap为空则返回真
  • socket的close是立刻返回,还是等四路握手过程完成再返回
  • C++ Queues(队列) 成员 empty():如果队列空则返回真
  • 我不理解的是,既然是一个字符串,可为什么不直接返回return (String) ob,而是要返回一个String[]?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3