问题标签 [rowcount]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1010 浏览

sql-server-2008 - @@rowcount 是否应该从触发器持续到它的调用过程中?

换句话说,如果我有一个调用 proc 的触发器;我应该能够检查@@rowcountproc 的第一行吗?并且应该@@rowcount有一个基于触发器中执行的最后一条 SQL 语句的值?

我正在调试一个我没有编写的过程。proc的第一行是

proc 由触发器调用。触发器在调用 proc 之前所做的最后一件事是:

发生的事情是@@rowcount在 proc 中始终为 0,并且 proc 在它做任何事情之前就结束了。修复非常简单,我只需将@@rowcount检查移入触发器并将其从 proc 中取出。

但是我很好奇为什么它首先是这样写的。几乎就像它曾经在某个时候工作一样,现在却不行了?我只是想检查一下 SQL2005 和 SQL2008 之间的行为是否发生了一些变化,或者某些系统设置发生了翻转。还是我的一位前任只是编写了从未工作过的糟糕代码?

0 投票
1 回答
16765 浏览

sql-server-2005 - SQL Server 存储过程 - 在选择查询中使用行计数

我的存储过程 (SQL Server 2005) 返回一个数据集,其中一个字段取决于查询返回的行数。我可以做一个简化的第一个查询,让我得到@@ROWCOUNT,但在这种情况下,该过程返回两组,这不是我想要的。

我尝试将第一个查询放在 WITH 语句中,但没有找到提取行数并将其放入可以在第二个查询中使用的变量中的语法。另一种方法是从第一个查询中获取@@ROWCOUNT 并告诉该过程只返回第二个查询的结果。

可能有更好的方法可以做到这一点,但我在 SQL 方面的专业知识非常有限......

谢谢你的帮助!

0 投票
2 回答
3435 浏览

java - JList 中的动态可见行数

我的 JList 的大小随着JFrame. 我有以下代码:

如果我为 setVisibleRowCount 方法设置了一些值,则行号变为固定,如果我不设置值,则默认值 8 开始播放。我想让这个值动态变化。

0 投票
1 回答
1487 浏览

asp.net - 如何在 Gridview 标签中获取行数

我在 Gridview 中有一个 ItemTemplate 标签,我没有与任何 DataField 绑定。我将 userId 作为 GridView 的列之一。根据 userId 列,我想获取用户获得的资产总数。数据库中不存在 totalNo。我必须手动触发查询并获得总行数。

现在,如何将每个用户的这个 rowCount 放在 GridView 中?

有任何想法吗?我已经尝试过 onRowDataBound 和 FindControl,但我如何为该特定用户获取 rowIndex?

0 投票
1 回答
1305 浏览

sql-server - SQL 影响了一批语句中的行数

我在循环中运行以下一批语句,直到受影响的行数返回为 0:

它已经在许多不同的数据库上正常工作多年,但突然在一个特定的数据库上,它返回 38563,这显然是“INSERT INTO @ScopeTable”部分中的行数,因为另一个插入执行“TOP 1024”。

是否有一些 SQL Server 设置可以使它改变这样的行为?依赖于获得 0 回报是不恰当的吗?

编辑:根据要求,这是运行循环的(Delphi)代码。DataAccess.NewCommand 使用 TADOCommand,如果它得到异常,则返回 -1:

0 投票
5 回答
1370 浏览

c# - “输入字符串的格式不正确。” 在 SQL 语句上调用 int.Parse

我收到错误消息:

“输入字符串的格式不正确。”

注意:如果我将第 182 行更改为引号中的实际数字(即“3”或“875”),并注释掉第 171 行,则此代码可以正常工作。但是,第 174 行中的“{7}”是一个应该自动递增但不会自动递增的字段。所以我试图在第 171 行获得一个“数字”,它将使用行数 + 1 来执行自动 = 增量。

有这个的接盘侠吗?:-)

0 投票
2 回答
1297 浏览

php - PDOStatement fetchColumn() 的 PHP 致命错误

我无法理解这个错误,有人可以向我解释一下吗?

PHP 致命错误:在第 27 行的 /user/dal.php 中的非对象上调用成员函数 fetchColumn()

我试图通过使用正则表达式对最后一个查询执行新SELECT COUNT(*)查询来获取最后一个查询的计数。问题是$stmt->fetchColumn()导致致命错误,然后我得到Error 500.

我究竟做错了什么?

0 投票
2 回答
2945 浏览

php - PHP PDO bug when trying to parameterize SQL LIMIT :offset, :display?

This query returns 5 results in phpMyAdmin:

#xA;

And this returns count=12 in phpMyAdmin (which is fine, because there are 12 records):

#xA;

This function was working fine before I added the two variables (offset, display), however now it doesn't work, and printing the variables out gives me offset=0, display=5 (so still LIMIT 0,5).

#xA;

It's not working because my dbRowsCount(...) method was returning empty string (stupid PDOStatement::fetchColumn), so I changed it to return the count with PDO::FETCH_ASSOC and it returns count=0.

Here is the function which does the row-count:

#xA;

My error log gives me this output from the program:

Regex output: SELECT COUNT(*) AS count FROM tbl_product WHERE 1 ORDER BY last_update DESC LIMIT ?,?;
getProducts(0,5) returned 0 rows.

As you can see, the SQL has not been malformed, and the method input variables were 0 and 5 as expected.

Does anyone know what has gone wrong?

Update

Following a suggestion, I did try to execute the query directly, and it returned the correct result:

#xA;

Output:

#xA;

Following another suggestion, I changed !=null to !==null, and I also printed out the $data array:

#xA;

Output:

#xA;

However, the dbRowsCount($sql, $data) still returns 0 rows for this query!

Update 2

Following advice to implement a custom PDOStatement class which would allow me to output the query after the values have been binded, I found that the function would stop after $query->execute($data) and so the output would not be printed, although the custom class works for every other query in my program.

Updated code:

#xA;

Output:

Regex output: SELECT COUNT() AS count FROM tbl_product_category WHERE id=?;
Data: 5
queryString:SELECT COUNT(
) AS count FROM tbl_product_category WHERE id=?;
_debugQuery():SELECT COUNT(*) AS count FROM tbl_product_category WHERE id=?;

Regex output: SELECT COUNT(*) AS count FROM tbl_product WHERE 1 ORDER BY last_update DESC LIMIT ?,?;
Data: 0,5
// function stopped and _debugQuery couldn't be output

Update 3

Since I couldn't get the custom PDOStatement class to give me some output, I thought I'd rewrite the getProducts(...) class to bind the params with named placeholders instead.

#xA;

Output:

Regex output: SELECT COUNT(*) AS count FROM tbl_product WHERE 1 ORDER BY last_update DESC LIMIT :offset, :display;
Data: 0,5
// Still crashes after $query->execute($data) and so logErrors("getProducts(".$offset."...)) wasn't printed out

Update 4

This dbDebugTest previously worked with declaring the limit values 0,5 directly in the SQL string. Now I've updated it to bind the parameters properly:

#xA;

The function crashes, and only this is output:

Beginning dbDebugTest()

Update 5

Following a suggestion to turn errors on (they are off by default), I did this:

#xA;

That itself, made the dbDebugTest() from Update 4 work!

Beginning dbDebugTest() dbDebugTest() returned rows=12

And now an error is generated in my webserver logs:

[warn] mod_fcgid: stderr: PHP Fatal error:
Uncaught exception 'PDOException' with message 'SQLSTATE[42000]:
Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use
near ''0', '5'' at line 1'
in /home/linweb09/b/example.com-1050548206/user/my_program/database/dal.php:36

Line 36 refers to dbRowsCount(...) method and the line is $query->execute($data).

So the other method getProducts(...) still doesn't work because it uses this method of binding the data and the params turn into ''0' and '5'' (is this a bug?). A bit annoying but I'll have to create a new method in my dal.php to allow myself to bind the params in the stricter way - with bindParam.

Thanks especially to @Travesty3 and @eggyal for their help!! Much, much appreciated.

0 投票
1 回答
1164 浏览

hsqldb - HSQL:如何获取存储过程中 UPDATE 语句更新的行数

我有一个存储过程,它调用 UPDATE(或 INSERT,或 DELETE)语句,我想将此语句更新的行数存储在语言环境变量中。

这不起作用,因为 INSERT 是一个语句,不能作为表达式求值:

其他 SQL 引擎似乎有一个名为“@@rowcount”的“元变量”来检索事务的最后一个 UPDATE/INSERT/DELETE 语句更新的行数。我在 HSQL 中没有找到等价物。

有什么线索吗?

0 投票
2 回答
693 浏览

.net - 覆盖使用游标的存储过程返回的行数

我有一个简化为以下代码的存储过程:

ExecuteNonQuery()仍然返回 -1!

我可以使用select @countExecuteScalar()想了解为什么我的代码不起作用。

似乎NOCOUNT OFF不会重置服务器行为,并且NOCOUNT ON仍然在原地。