java JDBC中的数字溢出异常
此查询返回一个数字溢出异常。从1到14的值很容易检索,但无法检索更大的值(从15开始) 我正在使用ORACLE XE。我该如何解决这个问题 这是我的密码:java JDBC中的数字溢出异常,java,oracle,jdbc,Java,Oracle,Jdbc,此查询返回一个数字溢出异常。从1到14的值很容易检索,但无法检索更大的值(从15开始) 我正在使用ORACLE XE。我该如何解决这个问题 这是我的密码: pst=con.prepareStatement("Select * from student where sut_id like 'Kul7Dub514'"); rs=pst.executeQuery(); while(rs.next) { smob.setText(Integer.toString(rs.getInt(15)));
pst=con.prepareStatement("Select * from student where sut_id like 'Kul7Dub514'");
rs=pst.executeQuery();
while(rs.next)
{
smob.setText(Integer.toString(rs.getInt(15)));
fmob.setText(Integer.toString(rs.getInt(16)));
mmob.setText(Integer.toString(rs.getInt(17)));
col.setText(rs.getString(18));
address.setText(rs.getString(19));
}
学生桌:
create table student ( stu_id varchar(10) primary key, stu_image Blob,
stu_first_name varchar(20) not null,
stu_middle_name varchar(20) not null,
stu_last_name varchar(20) not null,
fat_first_name varchar(20) not null,
fat_middle_name varchar(20),
fat_last_name varchar(20) not null,
mot_first_name varchar(20),
mot_middle_name varchar(20),
mot_last_name varchar(20),
dob Date,
gender varchar(6),
ac_yr varchar(10),
mobno number(11),
fatmob number(11),
motmob number(11),
edu_center varchar(50),
address varchar(150) )
由于数据库中的数据是
数字(11)
,因此无法将其放入整数中
试试长的和
rs.getLong(15)
最有可能的情况是,您不使用该“数字”执行任何数学运算。因为您不把它们当作数字,而是当作标识符。您应该使用Java类型BigDecimal
。这是一种最类似于Oracle数据类型NUMBER
的类型。或者您也可以使用jdbc驱动程序提供的数据类型oracle.sql.NUMBER
学生表的元数据是什么。