从数据库中将日期取出来进行格式转换
代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.text. SimpleDateFormat;public class TestDate {
public static void main(String[] args) throws Exception{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?"
+ "user=root&password=lyc");
Statement stm = conn.createStatement();
//ResultSet rs = stm.executeQuery("select pdate from article");
ResultSet rs = stm.executeQuery("select pdate from article");
while(rs.next()) {
Date d = rs.getDate("pdate");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月hh日");
System.out.println(sdf.format(d));
}
rs.close();
stm.close();
conn.close(); } 
}出现这种错误:
Exception in thread "main" com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'pdate' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1049)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
at TestDate.main(TestDate.java:15)
这是哪里的问题啊?
谢谢高手指明一下.

解决方案 »

  1.   


    Unknown column 'pdate' in 'field list'没有pdate字段,有没有拼错。
      

  2.   

    我查过数据库里啦,在数据库中能用select pdate from article;语句查出日期的;
      

  3.   

    PDATE, 大写就OK. 你在mysql中SELECT...的结果列名是大写吧?
      

  4.   

    public static void main(String[] args) { String sql = "select * from testDate;";
    ResultSet rs = getResultSet(sql);
    try {
    while (rs.next()) {
    System.out.print(rs.getInt("id") + " -- ");
    Date d = rs.getDate("xdate");
    SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
    System.out.println(df.format(d));
    //System.out.println(rs.getDate("xDate"));
    }
    } catch (SQLException e) {
    e.printStackTrace();
    } }
    console:-----------
    1 -- 2011年06月24日
    2 -- 2011年06月26日上面是我测试的,跟大小写没有关系,跟导入的 util.date和sql.date也没有关系,你还是检查一下你的字段名吧顺便邀请高手加入 JAVA爱好者进阶群  161734506 
      

  5.   

    数据库是叫mydata吗?
    另外,yyyyMMhh?
      

  6.   

    谢谢各位高手指点,是我的数据库名是bbs,写成mydata啦,这问题解决啦!谢谢!!!!!!!!!!!!!!!!!!!!!!!