Hi Jorgen

Thanks for the response. That helped !!!!!!!

thanks once again
Aneez

Jørgen Løland <Jorgen.Loland@Sun.COM> wrote:
Hi Aneez

The codeline that causes you trouble is this:

line 66: if (rs.getInt(1) != 300)

Looking at your select query, what you try to do here is to get an
integer from the "firstname" column (firstname is column number 1).

If you are trying to get the integer stored in the uid column, you need
to add it to the select query like this:

select uid, firstname, lastname from users where uid=1001

If this is what you want, rs.getInt(1) will never be 300, though. The
query specifies that only the row with uid 1001 will be returned.

Aneez Backer wrote:
> Hi
>
> I have attached the Java source file. The error is as follows when I run the program:
>
> ------------------------------
>
> SimpleApp starting in embedded mode.
> Loaded the appropriate driver.
> Connected to 24k
> exception thrown:
> java.sql.SQLDataException: Invalid character string format for type int.
> at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unkn
> own Source)
> at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source
> )
> at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException
> (Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(Unkn
> own Source)
> at org.apache.derby.impl.jdbc.EmbedResultSet.getInt(Unknown Source)
> at SampleApp1.go(SampleApp1.java:66)
> at SampleApp1.main(SampleApp1.java:23)
> Caused by: java.sql.SQLException: Invalid character string format for type int.
> at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknow
> n Source)
> at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport
> AcrossDRDA(Unknown Source)
> ... 7 more
> Caused by: ERROR 22018: Invalid character string format for type int.
> at org.apache.derby.iapi.error.StandardException.newException(Unknown So
> urce)
> at org.apache.derby.iapi.types.SQLChar.getInt(Unknown Source)
> ... 3 more
> SampleApp finished
>
> ------------------------------------------------
>
> When I run the same query through the 'ij' tool on the console, it works fine.
>
> The create table statement is as follows:
>
> CREATE TABLE USERS(
> uid BIGINT PRIMARY KEY,
> email VARCHAR(50) UNIQUE NOT NULL,
> passwd VARCHAR(15) NOT NULL,
> firstname VARCHAR(20),
> lastname VARCHAR(20),
> date_of_birth DATE,
> place VARCHAR(50),
> aboutme VARCHAR(500),
> myblog VARCHAR(50)
> );
>
> Am using db-derby-10.3.1.4-bin. So , the version is 10.3
>
>
> Looking forward for comments
> Thanks
> -Aneez
>
>
>
>
> Thomas Nielsen wrote: Bernts point is still very valid - you should catch Exception, not
> Throwable. My bad!
>
> catch (Exception e)
> {
> System.out.println("exception thrown:");
> e.printStackTrace();
> }
>
> BR
> Thomas
> off to get more liquid Java...
>
> Bernt M. Johnsen wrote:
>> Sorry, this one was intended only for Thomas. Please disregard :-))
>>
>>
>>>>>>>>>>>>>> Bernt M. Johnsen wrote (2007-11-16 09:56:00):
>>>>>>>>>>>>>>> Thomas Nielsen wrote (2007-11-16 08:17:17):
>>>> It would probably be better to simply do
>>>>
>>>> catch (Throwable e)
>>> Neineinei..... aldri be nybegynnere gjøre "catch Throwable". Det skal
>>> man ligge langt unna helt til man er så erfaren at man faktisk vet hva
>>> det innebærer. Denne vil cathe Error som du får f.eks. ved VM-feil,
>>> hw-feil etc.
>>>
>>> catch Exception er ok for debugging, men ikke i produksjonskode.
>>>
>>> catch SQLException er det riktige
>>>
>>>
>>>
>>>> {
>>>> System.out.println("exception thrown:");
>>>> e.printStackTrace();
>>>> }
>>>>
>>>> to get the full stacktrace for the SQLException that you see as well.
>>>>
>>>> And just for the record, what version of derby are you using ?
>>>>
>>>> BR,
>>>> Thomas
>>>>
>>>>
>>>> Aneez Backer wrote:
>>>>> Hi
>>>>>
>>>>> This is what is being printed on the console.
>>>>> The error message is in bold
>>>>>
>>>>> Loaded the appropriate driver.
>>>>> Connected to database 24k
>>>>> exception thrown:
>>>>> java.sql.SQLDataException: Invalid character string format for type
>>>>> int.
>>>>>
>>>>>
>>>>> The catch statement is as follows:-
>>>>>
>>>>> catch (Throwable e)
>>>>> {
>>>>> System.out.println("exception thrown:");
>>>>>
>>>>> if (e instanceof SQLException)
>>>>> {
>>>>> printSQLError((SQLException) e);
>>>>> }
>>>>> else
>>>>> {
>>>>> e.printStackTrace();
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Hope that clears the picture??
>>>>>
>>>>> Thnaks
>>>>> Aneez
>>>>> */Øystein Grøvlen /* wrote:
>>>>>
>>>>> Aneez,
>>>>>
>>>>> Can you provide the call stack for the exception you get?
>>>>>
>>>>> --
>>>>> Øystein
>>>>>
>>>>>
>>>>> Aneez Backer wrote:
>>>>> > Hi
>>>>> >
>>>>> > Am trying to connect to derby database, but have not been
>>>>> successful.
>>>>> >
>>>>> > I have created a database called 24k , and have also populated
>>>>> the tables
>>>>> >
>>>>> > Here's the code:
>>>>> >
>>>>> > ---------------------------------
>>>>> >
>>>>> > org.apache.derby.jdbc.EmbeddedSimpleDataSource ds = null;
>>>>> > Connection conn = null;
>>>>> > Properties props = new Properties();
>>>>> > props.put("user", username);
>>>>> > props.put("", "");
>>>>> >
>>>>> > Class.forName(driver).newInstance();
>>>>> > System.out.println("Loaded the appropriate driver.");
>>>>> >
>>>>> > conn = DriverManager.getConnection(protocol +"24k;", props);
>>>>> > System.out.println("Connected to database 24k");
>>>>> >
>>>>> > conn.setAutoCommit(false);
>>>>> >
>>>>> > Statement s = conn.createStatement();
>>>>> >
>>>>> > ResultSet rs = s.executeQuery("SELECT firstname, lastname
>>>>> > FROM USERS WHERE uid = 1001");
>>>>> >
>>>>> > ---------------------------------------------------------------
>>>>> >
>>>>> >
>>>>> > ---------------------------------------------------------------
>>>>> > ERROR
>>>>> > ---------------------------------------------------------------
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > Loaded the appropriate driver.
>>>>> > Connected to database 24k
>>>>> > exception thrown:
>>>>> > java.sql.SQLDataException: Invalid character string format for
>>>>> type int.
>>>>> >
>>>>> > ---------------------------------------------------------------
>>>>> >
>>>>> > Please guide
>>>>> >
>>>>> > Thanks
>>>>> > Aneez
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> ------------------------------------------------------------------------
>>>>> > Get easy, one-click access to your favorites. Make Yahoo! your
>>>>> homepage.
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>> Never miss a thing. Make Yahoo your homepage.
>>>>>
>>>> --
>>>> Thomas Nielsen
>>
>


--
Jørgen Løland





Never miss a thing. Make Yahoo your homepage.