Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Why ResultSet getDate() method returns null when querying .csv file?

843859Dec 9 2009 — edited Dec 14 2009
Here is the full code:

import java.sql.*;
import java.sql.Types;
import java.sql.Date;
import myjava.support.CachedRowSetMaker;
import javax.sql.rowset.CachedRowSet;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

class jdbc2{
final private String s1="SELECT top 10 [DATE], [ADJ CLOSE] FROM [vwo-1.csv]";
private ResultSet result=null;
private Connection conn=null;


public static void main(String[] args) throws SQLException{
jdbc2 db=new jdbc2();
try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
db.conn = DriverManager.getConnection("jdbc:odbc:STOCK_DATA");

PreparedStatement sql=db.conn.prepareStatement(db.s1);

db.result=sql.executeQuery();

// check column names and types using the ResultSetMetaData object.
ResultSetMetaData metaData = db.result.getMetaData();
System.out.println("Table Name : " + metaData.getTableName(2));
System.out.println("Field\t\tDataType");

for (int i = 0; i < metaData.getColumnCount(); i++) {
System.out.print(metaData.getColumnName(i + 1) + "\t");
System.out.println(metaData.getColumnTypeName(i+1));
}
System.out.print(metaData.getColumnName(1) + "\t"+metaData.getColumnName(2)+"\n");

while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
}

}
catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
finally {
db.result.close();
db.conn.close();
}

}
}

Everything works well, until getting to the block

while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
}

The getDate("DATE", Calendar.getInstance())); always returns null, instead of the date value in the vwo-1.csv.

Even though I change it to

java.sql.Date d=db.result.getDate("DATE") and convert to String using .toString(), I still gets nulls. The dollar amount in "Adj Close" field is fine, no problem.

The .csv fils is downloaded from YahooFinace.

Can anyone review the code and shed some light as to what I did wrong?

Thanks alot.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 11 2010
Added on Dec 9 2009
8 comments
1,612 views