I'm using DBI::Sybase to connect to a MS-SQL server, and simply struggling 
with how to find out how many rows were actually updated on a UPDATE, but 
the rows method and the return value of execute both return -1.

According to Descartes and Bunce's Perl DBI book, this means the number of 
rows affected are unknown.

But I need to know if the UPDATE was successful or not.  Is there any way 
of getting around this?  Is this a MS-SQL db server issue, or can my Perl 
code get around it?

Here is the simple code for the important part:

<SNIP>
$sth = $dbh->prepare ("UPDATE  pins SET blah = 'Y', blah2 = $yadda, blah3 
= $yadda2 WHERE blah4 = '$yadda3' AND control = $yadda4");

$return_val = $sth->execute;
$rows = $sth->rows;

print "\nreturn_val: $return_val    rows: $rows\n";

$sth->finish();
$dbh->disconnect();
<END SNIP>

Always returns -1.

Any comments welcome
-Almost Desperate


Reply via email to