这到底是什么问题啊,为什么列名无效!
控制台显示信息
身份证号:120106199807010018
select * from dbo.天津市初中1年级 where 学号='100109122'
这里可以显示!!!100.00
com.microsoft.sqlserver.jdbc.SQLServerException: 列名 OneKC1CJ 无效。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(Unknown Source)
at dao.LessonDao.queryLesson(LessonDao.java:107)
at dao.StudentDao.queryStudent(StudentDao.java:96)
at test.Test.main(Test.java:19)
学号: 100109122
姓名: 王培基
肺活量: 1600.00
身份证号: 120106199807010018
籍贯: 01
性别: 男
体重: 40.00
身高: 150.00
学校代码: 20109
学校名称第十九中学
- Java code
String str=(String)iterator.next(); res=conn.excuteQuery(str); while(res.next()) { i++; System.out.println(str); System.out.println("这里可以显示!!!"+res.getString("OneKC1CJ")); Lesson lesson1=new Lesson(); lesson1.setId(res.getString("OneKC1ID")); lesson1.setName(queryName(lesson1.getId())); lesson1.setResult(res.getString("OneKC1CJ")); lesson1.setLevel(String.valueOf(i)); lesson1.setSemester("第一学期"); if(selectLesson(lesson1.getId())) { Lessons.add(lesson1); }
------解决方案--------------------
sql 2000吧?
顺序取字段,从第一个字段依次取到最后一个字段,不要跳,不要重复、
------解决方案--------------------
你数据库没有OneKC1CJ 这个字段列啊?所以报错了
------解决方案--------------------
哦是有啊。我印象中resutlSet是游标的处理方式。
你试试这样String oneKC1CJ =res.getString("OneKC1CJ"));
lesson1.setId(oneKC1CJ);
------解决方案--------------------
- Java code
String str=(String)iterator.next(); res=conn.excuteQuery(str); while(res.next()) { i++; System.out.println(str); String str = res.getString("OneKC1CJ")); System.out.println("这里可以显示!!!"+ str); Lesson lesson1=new Lesson(); lesson1.setId(str); lesson1.setName(queryName(lesson1.getId())); lesson1.setResult(str); lesson1.setLevel(String.valueOf(i)); lesson1.setSemester("第一学期"); if(selectLesson(lesson1.getId())) { Lessons.add(lesson1); }