inserting an apostrophe

Поиск
Список
Период
Сортировка
От Peter Choe
Тема inserting an apostrophe
Дата
Msg-id 3F5CDBE9.1030805@mindspring.com
обсуждение исходный текст
Ответы Re: inserting an apostrophe  (Ron <rstpierre@syscor.com>)
Список pgsql-general
i am trying to add a record of a name.  the name has an apostrophe (O'Neil).

i am doing this through a servlet and wrote the code to use
PreparedStatement.

when i do:

...
PrepareStatement pstmt = con.prepareStatement("INSERT INTO directory
(name, phone) VALUES (?,?)");
pstmt.setString(1, name);
pstmt.setString(2, phone);
pstmt.executeUpdate();
...

i get the following error:

java.sql.SQLException: ERROR:  parser: parse error at or near "NEIL" at character 47

    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:94)
    at org.postgresql.Connection.ExecSQL(Connection.java:398)
    at org.postgresql.jdbc2.Statement.execute(Statement.java:130)
    at org.postgresql.jdbc2.Statement.executeQuery(Statement.java:54)

i thought that if i use the setString() method of the prepared
statement, it would automatically escape the apostrophe.

it only seems to be doing it on INSERT.  with UPDATE it seems to behave
as it should (escape the character).

if i enter the record from psql, it works fine.

i am using postgres 7.2 on a freebsd 4.3 platform and jdk1.3.1

Peter Choe



В списке pgsql-general по дате отправления:

Предыдущее
От: Karsten Hilbert
Дата:
Сообщение: Re: Can I use PostgreSQL to develop a self-organizing
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: About GPL and proprietary software