从数据库中读出字符数据转换成整数数据,有问题题?急!!!给分!

废话很多 2001-06-29 12:00:49
<%@ page contentType="text/html;charset=Gb2312" import="java.sql.*"%>
<html>
<head>
<title>长庆油田公司——物资</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<%
Class.forName("oracle.jdbc.driver.OracleDriver");
//加载驱动程序类
String url="jdbc:oracle:thin:@demo:1521:ora8";
Connection con=DriverManager.getConnection(url,"demo_user","kingstone");
//建立数据库联机
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
// 建立Statement对象
ResultSet rs;
//建立ResultSet(结果集)对象
rs=stmt.executeQuery("select max(max_type_id) as maxid from max_type");
//执行SQL语句
%>
<p> </p><table bg=dodgerBlue>
<tr bg=skyblue>
<td><b>物资大类编号</b></td>
<td><b>物资大类名称</b></td>
</tr>
<form name="form1" method="post" action="addmax_success.jsp">
<%
//利用while循环将数据表的记录输出
while(rs.next())
{
%>

<p>物资大类编号 <input type="text" name="id" value=" " disabled> *<%
int dd=Integer.parseInt(rs.getString("maxid"));
// int dd2=Integer.parseInt(dd);
%><%=dd%></p>
<p>物资大类名称
<input type="text" name="name">
*</p>
<%
}
rs.close();//关闭ResultSet对象
stmt.close();//关闭Statement
con.close();//关闭Connection对象
%>
</table>
<input type="submit" name="Submit" value="提交">
<input type="button" name="Submit2" value="取消">
</p>
</form>
</body>
</html>
出错为

异常:
java.lang.NumberFormatException: 07
...全文
151 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
susiewang 2001-06-29
  • 打赏
  • 举报
回复
转换前先调用String的trim()方法处理一下!
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/166/166905.shtm
chenhw 2001-06-29
  • 打赏
  • 举报
回复
在sql语句中可以用convert直接将max()转化为字符.
行不行?
废话很多 2001-06-29
  • 打赏
  • 举报
回复
我的问题已得到解决,原因在于,数据的该字段类型为char,我把他改为varchar2就可以了。
谢谢大家
westwood 2001-06-29
  • 打赏
  • 举报
回复
<%=dd2%>
这么写吧
废话很多 2001-06-29
  • 打赏
  • 举报
回复
我这样写还是出错,一样的错
String dd=rs.getString("maxid");
int dd2=Integer.parseInt(dd);
<%dd2=%>
废话很多 2001-06-29
  • 打赏
  • 举报
回复
错误依旧是这样。异常:java.lang.NumberFormatException: 07
废话很多 2001-06-29
  • 打赏
  • 举报
回复
to xiaoyou
可是错误还是java.lang.NumberFormatException: 07
  • 打赏
  • 举报
回复
int dd=Integer.valueOf(rs.getString("maxid")).intValue();
dd=dd+1;
String dd2=(new Integer(dd)).toString();
<%=dd2%>
废话很多 2001-06-29
  • 打赏
  • 举报
回复
to xiaoyou,to楼上的哥哥
到底怎么样做啊。
我只是想把数据表里的最大字符,如08,读出后变为09,再插入数据库表里。

所以这里我采用的方法是把字符变为整数,加1后,再变为字符,再前加字符0。
你有好的方法也可以介绍一下啊

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧