Skip to Content.
Sympa Menu

freetds - Re: [freetds] rowcount not available? [NC]

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Mittel, Alexander" <Alexander.Mittel AT siemens.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] rowcount not available? [NC]
  • Date: Tue, 18 Aug 2009 13:52:36 +0200

Hi Cedric,

"Asche über mein Haupt" -
I should have been quit if I don't know what DBCOUNT(dbproc) is.
MS says, that something changes with SET ROWCOUNT, but for SQL Server 2005 MS
said the same.
http://msdn.microsoft.com/en-us/library/ms188774.aspx
http://jmkehayias.blogspot.com/2008/12/set-rowcount-functionality-changes.html

Maybe now they really changed something in SQL Server 2008.
Unfortunately I have no v2008 to test.

Mfg Alexander


-----Ursprüngliche Nachricht-----
Von: freetds-bounces AT lists.ibiblio.org
[mailto:freetds-bounces AT lists.ibiblio.org] Im Auftrag von Cedric ROUVRAIS
Gesendet: Freitag, 14. August 2009 16:25
An: FreeTDS Development Group
Betreff: Re: [freetds] rowcount not available? [NC]

Hi Alex,

I am reporting a bug in the dblib.c because the function dbcount(DBPROCESS
* dbproc) returns -1 instead of returning the number of rows affected. So
this is not a MS Sql issue but a problem in FreeTDS/dblib

The problem can be seen at the bsqldb.c function with this code:

/*
* Get row count, if available.
*/
if (!options.fquiet) {
if (DBCOUNT(dbproc) > -1) {
fprintf(options.output, "(%d rows affected)\n",
DBCOUNT(dbproc));
}
// Removed the following code in order to replicate
SYBASE ISQL behaviour.
//else fprintf(stderr, "@@rowcount not available\n");
}

I commented out the fprintf in my code to replicate the behaviour of ISQL
from Sybase, however the statement is incorrect in the sense that the value
of @@rowcount is available and set correctly (I checked this by doing
select @@ROWCOUNT in bsqldb and it correctly returned 10).

Hopes this clarifies,

Cedric



|------------------------------
| "Mittel,
| Alexander"
| <Alexander.Mittel
| @siemens.com>
Hi,
this is a FreeTDS-mailing list, not a SQLServer-forum :-)

But: "set rowcount nn" is something completly different then "@@ROWCOUNT".
"set rowcount 10" limits the number of returned rows when doing a SELECT.
If a table has 20 rows then only 10 rows will be returned.
"@@ROWCOUNT" is set by SQLServer and contains the number of affected rows,
i.e. with UPDATE
Maybe look at MS doc to see
Mfg Alexander


-----Ursprüngliche Nachricht-----
Von: freetds-bounces AT lists.ibiblio.org
[mailto:freetds-bounces AT lists.ibiblio.org] Im Auftrag von Cedric ROUVRAIS
Gesendet: Donnerstag, 13. August 2009 21:33
An: FreeTDS Development Group
Betreff: [freetds] rowcount not available? [NC]



Hi,

Me again, anybody have any clues? When I execute select @@ROWCOUNT I get
the correct count that is to say. Why would the rowcount not be available ?

a++ Cedric
__________________

Hi guys,

I have come across an interesting behaviour with SQL Server 2008, when you
use the instruction: "set rowcount nn" such as "set rowcount 10" then
DBCOUNT(dbproc) returns -1.

Anyone have any ideas???

Thanks,

Cedric
_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds




Archive powered by MHonArc 2.6.24.

Top of Page