中易网

编写数据库时,总出现java.sql.SQLException:Column not found,应该怎么办?

答案:3  悬赏:60  
解决时间 2021-04-27 22:25
数据库名为 student.mdb ,数据库中表名为 chengjibiao ,数据源名为 sun , 登录名为 gxy , 密码为 123 ,数据表已给出。
import java.sql.*;
public class cone
{
public static void main(String[] args)
{
Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(""+e);
}
try{ con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
rs=sql.executeQuery("SELECt * FROM chengjibiao");
while(rs.next())
{
String number=rs.getString(1);
String name=rs.getString(2);
String date=rs.getString(3);
int math=rs.getInt("math");
int english=rs.getInt("english");
System.out.println("学号:"+number);
System.out.println("姓名:"+name);
System.out.println("出生:"+date);
System.out.println("数学:"+math);
System.out.println("英语:"+english);
}
con.close();
}
catch(SQLException e)
{
System.out.println(e);
}
}

}
运行时出现提示:java.sql.SQLException:Column not found
该怎么修改程序



最佳答案
你的表建的有问题,程序应该是在int math=rs.getInt("math");这一行代码出错的。
把代码中的“math”、“english”改成“字段4”、“字段5”(String)或者改成4、5(int)。
看了你的图片,你在数据库表中建的表的5个字段分别是“字段1”、“字段2”、“字段3”、“字段4”、“字段5”,而不是number、name、brithday、math、english,明白了嘛。

正确的做法:修改数据库结构,将字段名改回来,去掉数据库中第一行代码“number name ...”
全部回答
看不清你那图片里的字段不知道是个math字段还是mach字段。你可以也试着用索引去取一下看。 getInt(4),getInt(5)一样可以。这种情况应该是你哪个字段写错了。
mysql-connector-java最新版的bug 如果你起别名 就会出现这个错误 我目前知道3.1.13没有这个问题 或者在配置mysql参数 加上useoldaliasmetadatabehavior=true
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
用珍珠粉和蛋清敷脸为什么会痒?
天津市德航物资贸易公司地址在哪,我要去那里
如何用手机上传图片
帮我解决一下吧
科幻片哪些好看?
怎样使胸部在最短的时间里变大
龙之谷中哪个区的人最多?最火爆!
蓝可儿详细分析
为什么我英雄岛一按登录就不见了?
世界杯历届的冠军有那些国家?
丽景皇都这个地址在什么地方,我要处理点事
风暴演员表
QQT今年国庆如何过?具体点,
瑞安市哪里有魔术店
非诚勿扰里美女图片怎么没了
推荐资讯
新版Q宠怎么结婚呢?
谁有11届全运会羽毛球男双4分之一比赛录像
60级的三国空号卖多少?要YY或JS或XS都OK!
开通了黄钻为什么空间标志还是黑的?
关于始业教育的黑板报怎么出
玻璃浸水上色有什么办法
哥哥要结婚要买什么东西送给他们比较合适呢?
should school conduct drug test on student
错误找不到3d38dll 是什么意思啊
求~安宁《试婚》,txt格式
qq炫舞怎么挂
请解释used to 和 be used to doing 和be use
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?