中易网

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

答案:3  悬赏:60  
解决时间 2021-04-27 22:25
  • 提问者网友:无依无靠的距离
  • 2021-04-27 10:02
数据库名为 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
该怎么修改程序



最佳答案
  • 二级知识专家网友:孤伤未赏
  • 2021-04-27 11:05
你的表建的有问题,程序应该是在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 ...”
全部回答
  • 1楼网友:不羁的心
  • 2021-04-27 12:20
看不清你那图片里的字段不知道是个math字段还是mach字段。你可以也试着用索引去取一下看。 getInt(4),getInt(5)一样可以。这种情况应该是你哪个字段写错了。
  • 2楼网友:悲观垃圾
  • 2021-04-27 11:22
mysql-connector-java最新版的bug 如果你起别名 就会出现这个错误 我目前知道3.1.13没有这个问题 或者在配置mysql参数 加上useoldaliasmetadatabehavior=true
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息