From: | "Ed Brown" <ebrown(at)arcompanies(dot)net> |
---|---|
To: | "Greg Campbell" <greg(dot)campbell(at)us(dot)michelin(dot)com> |
Cc: | <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: SQL Error- SQLBindColumn and TimeStamp Field |
Date: | 2004-11-17 22:18:10 |
Message-ID: | 08d001c4ccf3$527ba290$fb04a8c0@arcHead.arcompanies.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Specifically I am trying to execute a query like
Insert into Table(field1, field2, field3) values(?,?,?)
Where field3 is Postgres type 11, or Timestamp. The application I have
written queries the database to determine field types in an attempt to
properly insert the record. Yes, I could execute the query you describe
below, except that means I would have to rewrite my application to not use
query parameters, which has it own issues.
And my apologies- I dropped a zero somewhere. The year is actually 2000, not
200.
I did find a reference online at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcdatetime_data_type_changes.asp
that talks about datetime-type variable changes between ODBC versions 1 and
2. I need to do some experimenting- I think I may need to change data type.
Ed
----- Original Message -----
From: "Greg Campbell" <greg(dot)campbell(at)us(dot)michelin(dot)com>
To: "Ed Brown" <ebrown(at)arcompanies(dot)net>
Cc: <pgsql-odbc(at)postgresql(dot)org>
Sent: Wednesday, November 17, 2004 12:17 PM
Subject: Re: [ODBC] SQL Error- SQLBindColumn and TimeStamp Field
> Please clarify "trying to insert a Timestamp field"
> Are you doing Data Definition -- creating a timestamp field
> or
> Data Manipulation -- populating data into an existing timestamp field.
>
> If data manipulation:
> I do not know Delphi, but couldn't you execute as query string against a
> connection -- a string like
> "INSERT INTO my_table (my_time) VALUES ('2004-11-17 12:10:35')"?
>
> and did you mean for the year value to be 200?
>
>
>
> Ed Brown wrote:
>
> > I have been trying to do an insert into a TimeStamp field in
> > Postgresql 7.34 (running on Suse 9.0, if it matters). The application
> > is in Delphi 7.0, but the code is similar enough that you C gurus
> > should be able to see what's happening. I get the text as a string,
> > parse it into the various elements, and populate the
> > SQL_TimeStamp_Structure. When I execute the SQLBindColumn function I
> > get the following message:
> >
> > Unable to Bind Parameter- State: S1003, Error # 0,
> > [Microsoft][ODBC Driver Manager] Program type out of range
> >
> > The values in the structure are reasonable, and other elements work
> > properly. Can anyone either tell me what I'm doing wrong, or show me
> > an example of setting a Timestamp value that works?
> >
> > Thanks very much. Code Follows
> >
> > Ed Brown
> > ------------------------------------------------------------------------
> >
> > New(pTimeStamp);
> > DecodeDate(dtThis, i1,i2,i3);
> > pTimeStamp^.year := i1;
> > pTimeStamp^.Month := i2;
> > pTimeStamp^.Day := i3;
> > DecodeTime(dtThis, i1,i2,i3,i4);
> > pTimeStamp^.Hour := i1;
> > pTimeStamp^.minute := i2;
> > pTimeStamp^.second := i3;
> > pTimeStamp^.fraction := i4;
> >
> > New(piTemp);
> > lIntegers.Add(piTemp);
> >
> > // Fails on next call
> > retcode := SQLBindParameter(hSTMT, i + 1, SQL_PARAM_INPUT,
> > SQL_C_TYPE_TIMESTAMP,
> > SQL_TYPE_TIMESTAMP,
> > SizeOf(SQL_TIMESTAMP_STRUCT), 0 ,
> > pTimeStamp,
> > SizeOf(SQL_TIMESTAMP_STRUCT), piTemp) ;
> > ------------------------------------------------------------------------
> > The values are:
> >
> > pTimeStamp^.year = 200
> > pTimeStamp^.Month = 7
> > pTimeStamp^.Day = 15
> > pTimeStamp^.Hour := 11
> > pTimeStamp^.minute := 15
> > pTimeStamp^.second := 0
> > pTimeStamp^.fraction := 0
> >
>
>
----------------------------------------------------------------------------
----
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
From | Date | Subject | |
---|---|---|---|
Next Message | Ed Brown | 2004-11-17 22:33:49 | Re: SQL Error- SQLBindColumn and TimeStamp Field |
Previous Message | Greg Campbell | 2004-11-17 20:17:49 | Re: SQL Error- SQLBindColumn and TimeStamp Field |