此查询返回数字溢出异常。从 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)));
fmob.setText(Integer.toString(rs.getInt(16)));
mmob.setText(Integer.toString(rs.getInt(17)));
col.setText(rs.getString(18));
address.setText(rs.getString(19));
}
学生 table :
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) )
最佳答案
由于您的数据库中的数据是 Number(11)
,因此它不适合整数。
尝试 Long 和 rs.getLong(15)
;
关于java - java JDBC中的数值溢出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23404294/