Обсуждение: a question, please help me.

Поиск
Список
Период
Сортировка

a question, please help me.

От
"wu xiao"
Дата:
Dear Sir or Madam,
    I am in trouble when I try to connect postgresql 8.03 to JBuilder9 with
JDBC3 8.1. When I use no-parameter sql, my project runs well. For example,

Connection db = DriverManager.getConnection(url,user,pwd);
Statement st = db.createStatement();
ResultSet rs = st.executeQuery("select * from operator");
while(rs.next()) {
System.out.println("ID: "+rs.getString(1));
}
rs.close();
st.close();

The results are:
ID: 100
ID: 101
...

But when I try to use parameter sql, my project has sqlexceptions, for
example:

Connection db = DriverManager.getConnection(url,user,pwd);
PreparedStatement ps = db.prepareStatement("select * from operator where
ID=?");
ps.setString(1,100);
ResultSet rs = ps.executeQuery();
if(rs!=null) {
while(rs.next()) {
System.out.println("ID: "+rs.getString(1));
}
rs.close();
}
ps.close();

The sqlexception is:....column 'id' is not exist..... What's the reason
please? All of the tables are created in Windows XP.

Thank you for your any suggestion.

Sincerely,
                                          Thomas Wu

_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。  http://www.hotmail.com


Re: a question, please help me.

От
Dave Cramer
Дата:
What does the table definition look like ?

in the first example you don't get the result by name so it could be
any column.

Dave
On 20-Jul-05, at 3:00 AM, wu xiao wrote:

> Dear Sir or Madam,
>    I am in trouble when I try to connect postgresql 8.03 to
> JBuilder9 with JDBC3 8.1. When I use no-parameter sql, my project
> runs well. For example,
>
> Connection db = DriverManager.getConnection(url,user,pwd);
> Statement st = db.createStatement();
> ResultSet rs = st.executeQuery("select * from operator");
> while(rs.next()) {
> System.out.println("ID: "+rs.getString(1));
> }
> rs.close();
> st.close();
>
> The results are:
> ID: 100
> ID: 101
> ...
>
> But when I try to use parameter sql, my project has sqlexceptions,
> for example:
>
> Connection db = DriverManager.getConnection(url,user,pwd);
> PreparedStatement ps = db.prepareStatement("select * from operator
> where ID=?");
> ps.setString(1,100);
> ResultSet rs = ps.executeQuery();
> if(rs!=null) {
> while(rs.next()) {
> System.out.println("ID: "+rs.getString(1)); }
> rs.close();
> }
> ps.close();
>
> The sqlexception is:....column 'id' is not exist..... What's the
> reason please? All of the tables are created in Windows XP.
>
> Thank you for your any suggestion.
>
> Sincerely,
>                                          Thomas Wu
>
> _________________________________________________________________
> 享用世界上最大的电子邮件系统— MSN Hotmail。  http://
> www.hotmail.com
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
>



Dave Cramer
davec@postgresintl.com
www.postgresintl.com
ICQ #14675561
jabber davecramer@jabber.org
ph (519 939 0336 )


Re: a question, please help me.

От
Oliver Jowett
Дата:
wu xiao wrote:

> PreparedStatement ps = db.prepareStatement("select * from operator where
> ID=?");

> The sqlexception is:....column 'id' is not exist..... What's the reason
> please? All of the tables are created in Windows XP.

If you've created the table with a capitalized column name, you will
need to quote it in your SQL:

  "select * from operator where \"ID\"=?"

Unquoted identifiers (column names, table names, etc) are forced to
lowercase by the server.

-O