Re: perl Pg module and result status

Поиск
Список
Период
Сортировка
От Edward Q. Bridges
Тема Re: perl Pg module and result status
Дата
Msg-id 200009202329.e8KNTps38058@hub.org
обсуждение исходный текст
Ответ на perl Pg module and result status  (Fernán Agüero <fernan@iib.unsam.edu.ar>)
Ответы Re: perl Pg module and result status  (Neil Conway <nconway@klamath.dyndns.org>)
Список pgsql-general
i can't seem to locate the reference to the documentation
you mention in the perldoc for DBD::Pg, can you reference
it?

as a general note, you should be using the DBI interface
with DBD::Pg and not calling the methods in DBD::Pg
directly.  they're "private" and likely to change.

in other words your perl script should "use DBI;" and
not mention DBD::Pg at all.

try this:

use DBI;
$user = '';
$pass = '';
$dburl = '';  # should be: dbi:Pg:dbname=[your database name]
$db = DBI->connect($dburl, $user, $pass, {AutoCommit=>0} )
   or die "Can't connect to db";
$sth = $db->prepare( q{ select current_timestamp } )
   or die "Can't prepare statement: " . $db->errstr;
$sth->execute()
   or die "Can't execute statement: " . $db->errstr;
$result = $sth->fetchrow_array();

($result) ? print "$result\n" : print "error fetching: " . $db->errstr;

__END__


hope this helps
--e--



On Wed, 20 Sep 2000 23:59:41 GMT, Fern�n Ag�ero wrote:

> Dear all: i am somewhat new to both perl and PostgreSQL. I am writing
> some perl scripts to store and retrieve information in a pgsql database,
> using the Pg perl module. However i am having trouble doing checks after
> issuing queries or commands.
>
> According to the module documentation:
> "
> $result_status = $result->resultStatus
> Returns the status of the result. For comparing the status you may use
> one of the following constants depending upon the command executed:
> - PGRES_EMPTY_QUERY
> - PGRES_COMMAND_OK
> - PGRES_TUPLES_OK
> - PGRES_COPY_OUT
> - PGRES_COPY_IN
> - PGRES_BAD_RESPONSE
> - PGRES_NONFATAL_ERROR
> - PGRES_FATAL_ERROR
> "
>
> When I check the contents of $result_status it is not any of the
> mentioned constants, but a number (i am now getting 7 for a
> $result->getvalue command after a failed select statement). If i issue
> the same select statement in the pgsql terminal everything works. Thus i
> don't understand what could be happening.
>
> However, comparisons of the kind of:
>     if ($result_status != PGRES_COMMAND_OK)
> appear to work most of the times (am i comparing against a number?)
>
> Any help is appreciated.
>
> Thanks in advance,
>
>
> Fernan
>
>
>




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

Предыдущее
От: John McKown
Дата:
Сообщение: Re: copy table from one database to another
Следующее
От: Matthew Rice
Дата:
Сообщение: Re: Public Database of zip code information