Subject | Re: Query returning row when it shouldn't... |
---|---|
Author | phil_sorry_trouble_with_profile |
Post date | 2004-05-31T06:35:13Z |
--- In Firebird-Java@yahoogroups.com, Stefan Mühlemann <smue@k...> wrote:
SQL to:
"select PK_SN from MYTABLE order by PK_SN desc"
then if there are no rows, then rs.next() returns false (good, what I
expect!).
> Phil wrote:starts it
>
> > Hi, I'm a new Firebird user, using Firebird-1.5.0.4306-Win32 and
> > Firebird-JDBC-SQL-1.5.0Beta3JDK_1.4.
> >
> > I have a new database , no data in it yet. When my application
> > looks for a value in the database, returning it if found, i.esomething
> > like:But my original statement should return zero rows! If you change the
> >
> > ...
> > java.sql.Statement s = myConnection.createStatement();
> > ResultSet rs = s.executeQuery("select max(PK_SN) from MYTABLE");
> > if (rs.next())
> > // Then the row exists - return the value:
> > return rs.getInt("PK_SN");
> >
> This statement will return one row with one field with content "null".
SQL to:
"select PK_SN from MYTABLE order by PK_SN desc"
then if there are no rows, then rs.next() returns false (good, what I
expect!).
>MYTABLE");
> Try
>
> ResultSet rs = s.executeQuery("select max(PK_SN) maxPKSN from
> if (rs.next())MYTABLE");
> // Then the row exists - return the value:
> return rs.getInt("maxPKSN");
>
> or
>
> ResultSet rs = s.executeQuery("select max(PK_SN) maxPKSN from
> if (rs.next())
> // Then the row exists - return the value:
> return rs.getInt(1);
>
> Stefan