【问题标题】:Not able to retrive data from DateTime in mysql无法从 mysql 中的 DateTime 检索数据
【发布时间】:2015-07-04 18:25:05
【问题描述】:

我想将日期时间列值检索到 javacode。

import java.sql.*;
import java.util.ArrayList;
public class Time {

    /**
     * @param args
     * @throws ClassNotFoundException 
     */
    public static void main(String[] args) throws ClassNotFoundException {
        // TODO Auto-generated method stub
        DAO1.getDBObject();
    }

}
//STEP 1. Import required packages


 class DAO1 {
 // JDBC driver name and database URL
 static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
 static final String DB_URL = "jdbc:mysql://localhost/coder";

 //  Database credentials
 static final String USER = "root";
 static final String PASS = "root";
 static  ArrayList<member> al = new ArrayList<member>();

 public static ArrayList<member> getDBObject() throws ClassNotFoundException {
 Connection conn = null;
 Statement stmt = null;
 try{
    //STEP 2: Register JDBC driver
       al.clear();
    Class.forName("com.mysql.jdbc.Driver");

    //STEP 3: Open a connection
    System.out.println("Connecting to database...");
    conn = DriverManager.getConnection(DB_URL,USER,PASS);

    //STEP 4: Execute a query
    System.out.println("Creating statement...");
    stmt = conn.createStatement();
    String sql;
    sql = "SELECT id, name, payType FROM gym";
    ResultSet rs = stmt.executeQuery(sql);

    //STEP 5: Extract data from result set
    while(rs.next()){

       ***//System.out.println(rs.getTimestamp("lastPaid"));
       System.out.println(rs.getDate(3));***

    }
    //STEP 6: Clean-up environment

    }catch(SQLException se){
       se.printStackTrace();
    }//end finally try//end try

 return al;
}//end main
}//end FirstExample

我遇到了这样的异常

正在创建语句... java.sql.SQLException: DATE '6' 的格式错误 在第 3 栏中。 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056) 在 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) 在 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 在 com.mysql.jdbc.ResultSetRow.getDateFast(ResultSetRow.java:254) 在 com.mysql.jdbc.ByteArrayRow.getDateFast(ByteArrayRow.java:235) 在 com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2108) 在 com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2060) 在 DAO1.getDBObject(Time.java:53) 在 Time.main(Time.java:11)

我的mysql数据库看起来像

我正在尝试使用索引和字符串版本的所有方法 getDate、getTimeStamp。 所有人都只给出了例外。 请帮帮我

【问题讨论】:

    标签: java


    【解决方案1】:

    您没有在 sql 中查询日期。试试:

    sql = "SELECT id, name, payType, lastPaid FROM gym";
    

    sql = "SELECT * FROM gym";
    

    【讨论】:

    • 您还需要在 rs.get 语句中获取正确的列
    • 哇!非常感谢……我从 2 小时开始尝试这个……哦,我错过了 qurey 中的那一列……
    • 发生在我们所有人身上!从代码中休息一下通常会有所帮助!
    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多