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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Firebird DB and java.sql.Date problem

ChangApr 5 2011 — edited Apr 6 2011
Hello

I use a Fireball Database together with JDBC on Windows 7.

This is the code:
Connection l1con = DriverManager.getConnection(this.l1url, this.l1user, this.l1pw);
String query = "select distinct einspers.auftragnr, adressen.nummer, kunden.kundname, einspers.personalnr, " + 
  "einspers.einsortnr, einsort.bezeichn, einspers.bezeichn, personal.nachname, personal.vorname, " + 
  "datumvon, datumbis, personal.gebdatum, personal.gebort, adressen.strasse, adressen.plz, adressen.ort, " + 
  "kunden.kundennr , kunden.adrnr1, kunden.adrnr2, kunden.adrnr3 " +
  "from einspers join einsort join personal join adressen join auftrag join kunden " + 
  "on einspers.auftragnr = einsort.auftragnr and einspers.einsortnr = einsort.einsortnr " + 
  "on einspers.personalnr = personal.personalnr " + 
  "on personal.adrnr1 = adressen.nummer " + 
  "on auftrag.auftragnr = einspers.auftragnr " + 
  "on kunden.kundennr = auftrag.kundennr " + 
  "where datumvon >= ? and datumbis <= ? " + 
  "and kunden.kundennr IN (110025) "  
  "order by einspers.auftragnr";
		
System.out.println("from " + start);
System.out.println("to " + stop);
System.out.println("from sql " + new java.sql.Date(start.getTime()));
System.out.println("to sql " + new java.sql.Date(stop.getTime()));
PreparedStatement stmt = l1con.prepareStatement(query);
stmt.setDate(1, new java.sql.Date(start.getTime()));
stmt.setDate(2, new java.sql.Date(stop.getTime()));
ResultSet rslt = stmt.executeQuery();
			
while(rslt.next())
{
			
	if(rslt.getInt(1) == 23869)
	{
		System.out.println("contract job_no: " + rslt.getInt(1) + " " + rslt.getDate(10) + " " + rslt.getDate(11);
        }
}
The output is
from Tue Mar 01 00:00:27 CET 2011
to Thu Mar 31 00:00:27 CEST 2011
from sql 2011-03-01
to sql 2011-03-31
contract job_no: 23869 2011-03-18 2011-03-18
But when I use the same query without the Date objects like this,
...
Connection l1con = DriverManager.getConnection(this.l1url, this.l1user, this.l1pw);
String query = "select distinct einspers.auftragnr, adressen.nummer, kunden.kundname, einspers.personalnr, " + 
   "einspers.einsortnr, einsort.bezeichn, einspers.bezeichn, personal.nachname, personal.vorname, " + 
   "datumvon, datumbis, personal.gebdatum, personal.gebort, adressen.strasse, adressen.plz, adressen.ort, " + 
   "kunden.kundennr , kunden.adrnr1, kunden.adrnr2, kunden.adrnr3 " +
   "from einspers join einsort join personal join adressen join auftrag join kunden " + 
   "on einspers.auftragnr = einsort.auftragnr and einspers.einsortnr = einsort.einsortnr " + 
   "on einspers.personalnr = personal.personalnr " + 
   "on personal.adrnr1 = adressen.nummer " + 
   "on auftrag.auftragnr = einspers.auftragnr " + 
   "on kunden.kundennr = auftrag.kundennr " + 
   "where datumvon >= '2011-03-01' and datumbis <= '2011-03-31' " + 
   "and kunden.kundennr IN (110025) " 
   "order by einspers.auftragnr";
			
PreparedStatement stmt = l1con.prepareStatement(query);
//stmt.setDate(1, new java.sql.Date(start.getTime()));
//stmt.setDate(2, new java.sql.Date(stop.getTime()));
			
ResultSet rslt = stmt.executeQuery();
	        
while(rslt.next())
{
				
	if(rslt.getInt(1) == 23869)
	{
		System.out.println("contract job_no: " + rslt.getInt(1) + " " + rslt.getDate(10) + " " + rslt.getDate(11);
	}
}
...
the output is
contract job_no: 23869 2011-03-01 2011-03-02  
contract job_no: 23869 2011-03-18 2011-03-18 
As you can see there is one result more than in the dynamic version with the date objects, but i cannot understand why. Is it a bug or am I blind?
Any help is appreciated!

Kind regards,
Chang
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 4 2011
Added on Apr 5 2011
5 comments
636 views