Re: Prepared Statements

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Prepared Statements
Дата
Msg-id 20030721150702.GK2506@opencloud.com
обсуждение исходный текст
Ответ на Re: Prepared Statements  (Dmitry Tkach <dmitry@openratings.com>)
Список pgsql-jdbc
On Mon, Jul 21, 2003 at 10:43:28AM -0400, Dmitry Tkach wrote:
> Oliver Jowett wrote:
>
> >On Mon, Jul 21, 2003 at 10:27:30AM -0400, Dmitry Tkach wrote:
> >
> >
> >
> >>Why not just allow setObject() to take Collection as an argument?
> >>
> >>
> >
> >You need information on the SQL type of the contents to be able to turn
> >them
> >into a DB representation correctly. We can't use the type parameter to
> >setObject() for this as that should reflect the whole paramater, i.e.
> >probably Types.OTHER in this case.
> >
> It doesn't seem to be required anywhere - it just says "the type to be
> sent to the database" in the description of that
> argument. You can interpret it to be the type of the contents when
> dealing with collections/sets/arrays

java.sql.Types has pretty explicit mappings between type values and SQL
types. A collection of integers is definitely not a SQL INTEGER.

Types.OTHER says:

  The constant in the Java programming language that indicates that the SQL
  type is database-specific and gets mapped to a Java object that can be
  accessed via the methods getObject and setObject.

which fits this use of Collection.

Responding to comments elsewhere .. you do need the component type to behave
correctly. For example, these produce different results:

 setObject(1, new Date(...), Types.STRING)
 setObject(1, new Date(...), Types.TIMESTAMP)

-O

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

Предыдущее
От: Richard Welty
Дата:
Сообщение: Re: Prepared Statements
Следующее
От: Dmitry Tkach
Дата:
Сообщение: Re: Prepared Statements