已知定义了一个public class DBApplicationTest implements ActionListener,中间包含的swing组件省略;
其中定义了一个方法public void mainFram(),该方法中又调用本类的3个方法:public void showWel(),public void teacherInfo(),public void teacherSearchInfo(),这些方法都用来显示外观;
重写public void actionPerformed(ActionEvent e)方法,根据点击不同的按钮响应不同的事件,执行不同的业务逻辑。其中用到了一个专门连接数据库的类SearchInfo,构造函数里面包括加载了jdbc的驱动程序,连接数据库,另定义一个方法public ResultSet search(String teacherID)用于查询表信息。问题是,每次运行DBApplicationTest的时候,eclipse都会出现这样的错误:数据库连接成功!
查询教师信息的SQL语句为:select teacherID,teacherName,age,sex,DATE_FORMAT(birth,'%Y/%m/%d') as birth,department,tdept,salary,professionalfrom teacherInfo
SQLException异常Unknown column 'teacherID' in 'field list'
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'teacherID' in 'field list'
......按事件驱动的原理,程序应该先显示基本组件,再根据用户点击按钮,再连接数据库,现在每次都要先连数据库,所以对数据库的加载和事件驱动的顺序产生了疑问,有哪位大虾可以帮忙一下。试过不用jdbc的时候用swing没有问题。

解决方案 »

  1.   

    程序的SQL语句如下:
    selTeacherInfo="select teacherID,teacherName,age,sex,"+
    "DATE_FORMAT(birth,'%Y/%m/%d') as birth,department,"+
    "tdept,salary,professional"+
    "from teacherInfo";
    为什么打印该语句的时候会变成:
    select teacherID,teacherName,age,sex,DATE_FORMAT(birth,'%Y/%m/%d') as birth,department,tdept,salary,professionalfrom teacherInfo
    也就是professional和from之间缺少空格,所以出现了:
    SQLException异常Unknown column 'teacherID' in 'field list'
    问题到底出在哪里?
      

  2.   

    终于发现SQL语句的错误了,原来是professional字段后面缺少空格!
    不过新问题出现了,令人头疼的java.lang.NullPointerException
      

  3.   

    问题又找到了,原来有一个JPanel没有new!