问题标签 [executescalar]

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 投票
3 回答
18192 浏览

c# - C# cmd.ExecuteScalar():“无法继续执行,因为会话处于终止状态。”

得到一个奇怪的例外ExecuteScalar(),我在网上找不到任何帮助:

无法继续执行,因为会话处于终止状态。

我正在使用 SqlConnection/SqlCommand

该命令是一个基本的 INSERT INTO... 具有 105 列(和 105 个用于设置列数据的参数),然后是 SELECT SCOPE_IDENTITY();

我检查了连接字符串 - 它是正确的并且连接是打开的。

我什至不确定这个错误告诉我从哪里开始查看这个错误。

那么这个错误到底是什么意思呢?会话如何开始处于终止状态?

代码非常简单:

0 投票
1 回答
31 浏览

c# - 如何将 executereader 用于不同的变量?

ExecuteScalar用于这样的单个查询:

它对我来说很好。但是由于数据库,3 个(以及更多其他数据库)查询等待了这么多。如何选择所有表(从 Table1 中选择 *)并在为每个 where 条件执行命令之后?你能在我的示例代码上给我看这个例子吗?谢谢你。

0 投票
1 回答
1043 浏览

c# - ExecuteScalar:连接属性尚未初始化。SQL Server 连接

我编写了这段代码来读取存储在 SQL Server 数据库中的图像,但是我收到了这个错误:

ExecuteScalar:连接属性尚未初始化。

由于我已经初始化了连接,我不确定问题是什么。

0 投票
1 回答
705 浏览

c# - 使用数组在 DB2 中选择计数查询

我正在尝试使用一个查询来计算我的 DB2 数据库中的所有记录,其中使用数组的内容来搜索表。

此代码引发异常({“EXECUTE 或 OPEN 语句中的主机变量的值超出了相应使用的范围。”})

但是,如果我使用 strNumbers.Length 它不会引发错误,但 nodeCount 它仍然为 0。

我需要循环它还是别的什么?查询和数据库连接很好,因为我可以从同一个程序中选择、插入数据库。

谢谢

编辑 - 我已经设法解决了这个问题(见接受的答案),但现在有另一个问题。假设“1234567”在数据库中,一旦它返回 1 就可以了。如果输入它'5551234'不在数据库中,它返回0,这也很好。但是问题在于,如果输入是“1234567,5551234”,则 Count 将返回 1,因为 1234567 在数据库中,即使 5551234 不是。

有没有办法为 1234567 输出 1,然后为 5551234 输出 0?

0 投票
2 回答
254 浏览

c# - 在 C# 中使用 ExecuteScalar 访问列名?

我有一个根据某些结果返回 0 或 1 的存储过程。我经常手动执行此过程,因此要在 SSMS 中轻松查看成功/失败的描述,但在代码中仍可读取为 0/1,我选择 0 或 1 作为不同的列名,即SELECT 0 AS ThisReasonSELECT 0 AS ThatReason

几乎可以肯定有更好的方法来处理这个问题,但这让我很好奇 - 在 C# 中使用 ExecuteScalar 时是否可以读取您选择的列的名称?

0 投票
1 回答
375 浏览

c# - 调用 ExecuteScalar 方法时读取器关闭错误时尝试调用读取无效

我有一个需要从 excel 文件加载数据的 ASP.NET 应用程序。该文件包含大约 20K 条记录。该应用程序从文件中读取数据并遍历每条记录,进行计算和验证,然后将每条记录插入数据库。一切都按预期工作,直到 Insert 方法抛出异常。运行 10 - 11 分钟后抛出错误。注意:所有加载过程都在以下列方式定义的事务范围内运行:

一直打开 SQLConnection - 我使用 SQL Profiler 确保了这一点。为了使用 DB,我们使用 Microsoft.Practices.EnterpriseLibrary.Data.Database 对象。这是一个插入方法:

这是一个错误:

我有关于此错误的搜索信息,主要思想是连接已关闭,但我不知道为什么?

我将不胜感激任何帮助或建议

0 投票
1 回答
144 浏览

c# - MS SQL 函数未将值返回给 C#

我有以下 MS SQL 函数:

以及调用该函数的以下 C# 代码:

当函数到达 cmd.ExecuteScalar() 时,我得到一个 NullReferenceException。

我尝试使用和不使用“dbo.”来调用该函数。我也尝试过使用 cmd.ExecuteReader() 调用它,但没有成功。

这里出了什么问题?

0 投票
2 回答
148 浏览

vb.net - 防止 SQL 遭受注入攻击

我有一个包含 SQL 查询的程序,昨天有人向我指出它很容易受到 SQL 注入攻击。在做了一些研究之后,我可以看到要解决这个问题,我需要使用参数来代替。我有以下代码...如何参数化?

0 投票
2 回答
4376 浏览

c# - ExecuteScalar() 总是返回 NULL

我正在尝试使用 ExecuteScalar() 从数据库中返回一个整数。但是,当我在数据库本身上运行查询时,我得到了正确的答案,并且 c# 一直给我一个 0 (Null)。我知道它返回一个空值,因为在我添加之前id = Convert.ToInt32(command.ExecuteScalar());它会给我一个错误,告诉我确保处理空值。我期待它返回 3 btw。

这是我在数据库上运行它时得到的

0 投票
1 回答
226 浏览

ado.net - ExecuteScalar 不抛出异常

我正在尝试在主表和详细表中插入数据。

我的主表问: Insert INTO tblMain();

然后我在做:

然后我使用@OrderIDas 的值插入详细信息表Insert into tbl_Details(OrderID,SKU,amount) Values(@OrderID,NULL,20 );

如果 in tbl_Details,不为空,如果我一次运行所有查询并作为空值传递SKU,我不会收到异常。ExecuteScalarSKU

我的执行功能是:

我有解决方案,但为此我将不得不更改我的函数的签名,如下所示:

我想要的是我是否可以在我的旧函数中做 ant 事情,以便如果明细表中的某些不可为空的字段作为 null 传递而不更改我的函数签名,它会抛出异常。