From: | "Tomas Vondra" <tv(at)fuzzy(dot)cz> |
---|---|
To: | "Arun Nadar" <arun_rt(at)rocketmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Problem using PostgreSQL 9.0.4 with Java |
Date: | 2011-09-07 21:35:43 |
Message-ID: | fc57c81a45d5b503772e544cb20904ad.squirrel@sq.gransy.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 7 Září 2011, 22:45, Arun Nadar wrote:
> Hi
>
>
> I am currently using 'PostgreSQL
> 9.0.4' database with JDBC driver 'postgresql-9.0-801.jdbc4'. In my Java
> program normal SELECT query didn't work.
> ie,
>
> try {
> Class.forName("org.postgresql.Driver");
> connection =
> DriverManager.getConnection("jdbc:postgresql://localhost/Student","postgres","postgres");
> statement = connection.createStatement();
> String sql="SELECT Id, Name FROM Student ORDER BY Id"; //
> problem
>
> resultSet = statement.executeQuery(sql);
> if(resultSet.next()) {
> String id=resultSet.getString(1);
> String name=resultSet.getString(2);
> }
> } catch (Exception e) {
> e.printStackTrace();
> } finally {
> try {
>
> connection.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
>
>
> I directly write a query via pgAdmin III the above SELECT query didn't
> work
> { SELECT Id, Name FROM Student ORDER BY Id; }
>
>
> but it work by putting " ", like this SELECT "Id", "Name" FROM "Student"
> ORDER BY "Id";
>
> in java String, inside of double inverted commas another is does not
> possible.
>
>
> how this code is implement through java program. please kindly send me the
> solution for this.
First of all, this has nothing to do with Java - this is caused by quoting
the identifiers when creating the table. I.e. you've created the table
like this:
CREATE TABLE "Student" (
"Id" ...
"Name" ...
);
in that case you have to quote the identifiers every time you use them. I
generally don't recommend it, in my experience it makes the db difficult
to use and error prone.
CREATE TABLE student (
Id ...
Name ...
);
and then you don't need the quotes at all.
But if you really need to use the quotes (e.g. if you can't change the
schema), then you can escape them in the query string, e.g. like this:
String sql="SELECT \"Id\", \"Name\" FROM \"Student\" ORDER BY \"Id\"";
regards
Tomas
From | Date | Subject | |
---|---|---|---|
Next Message | John R Pierce | 2011-09-07 21:36:15 | Re: Problem using PostgreSQL 9.0.4 with Java |
Previous Message | Tomas Vondra | 2011-09-07 21:10:05 | Re: checkpoint logs |