Nice sample.
Perhaps you can use a DSN connection and in the PostgreSQL ODBC Driver setup for the connection turn on
mylog.
Or you can use the ODBC Administrator, under the tracing tab, Start Tracing.
Or in the server postgresql.conf temporarily turn the logging on for all statements, to capture lower
level ODBC communication.
Do the ODBC connection encoding, and the database encoding match?
A.j. Langereis wrote:
> Dear all,
>
> I have written an application that uses Postgresql (8.1.0) trough an ODBC (ANSI) connection. I noticed that a query
like"select 'bar' as foo" does not give the value "bar" in the column "foo". This works normally under PGadmin and even
onother databases via ODBC. Am I overlooking something or might this be a bug?
>
> Values that I do get are like "#0#0#0#0#0"
>
> A piece of Delphi code to show the problem:
>
> procedure show_problem(conn : TADOConnection)
> var
> qry : TAdoQuery;
> datasource: TDataSource;
> begin
> qry := TADOQuery.create(nil);
> qry.Connection:=conn;
> qry.SQL.Text:= 'select ''bar'' as foo';
>
> qry.Open;
>
> if not qry.eof then
> begin
> datasource := TDataSource.Create(nil);
> datasource.dataset := qry;
>
> //datasource.DataSet.Fields[1].AsString now has the value of '#0#0#0#0#0'
> //datasource.DataSet.Fields[1].FieldName is now equal to 'foo'
>
> datasource.free;
> end;
>
> qry.close;
> qry.free;
> end;
>
> The version of ODBC that I've got installed is 08.00.0102 (via MSI installed).
>
> Yours,
>
> Aarjan