问题标签 [sqlcommand]

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 投票
2 回答
2519 浏览

c# - ExecuteScalar 在调用返回 1 的存储过程时抛出 NullReferenceException

在发布这个问题之前我做了一些研究,我知道当没有返回数据时,ExecuteScalar 会抛出 System.NullReferenceException。这就是为什么我将我的存储过程修改为“返回 1”,这样就可以保证返回值。但是,我仍然收到 NULL 引用异常。

所以我尝试使用 SqlCommand 来查询一个有数据的表:

当我运行执行标量时,我能够获取一个值,因此我知道我有权查询数据库。我怀疑这是我错过的一些特定的存储过程权限设置?

我非常感谢任何评论/建议,因为我已经坚持了一天。:(

我的代码如下所示:

谢谢!

0 投票
2 回答
1357 浏览

tsql - 使用 SqlDataReader 从 TSQL 输出子句获取错误消息

我有以下 SQL

SqlCommand.ExecuteReader()用来获取一个SqlDataReader读取输出行的。当参数正确时,一切正常。

当表具有参数不满足的约束时,问题就开始了,例如:

如果我对 val1 和 val2 执行具有相同值的命令,则阅读器会静默失败。我所能做的就是检查SqlDataReader.HasRows返回的属性false

所以我的问题是如何从返回的错误中得到更具体的错误SqlDataReader

0 投票
4 回答
254 浏览

stored-procedures - ADO.NET:您自己的系统中有很多存储过程吗?

大家好 我们知道 SqlCommand 对象的 CommandType 属性有 3 个选项:TableDirect、Text 和 StoredProcedure 或“SP”。

知道“SP”比其他两个选项有好处,我的问题是您是否在自己的系统中制作了很多 SP?

或者您有什么解决方案而不是创建 SP?

谢谢

0 投票
3 回答
2374 浏览

sql - SQL - 如何用一个未来的日期时间替换一系列日期时间?

这是一个基本的 SQL 日期时间问题,但我不想弄乱我的数据库!

例如,在 MySQL 数据库中,如果我想在我的一个表的单个列中替换日期 X 和日期 Y 之间的所有日期时间值 - 执行此操作的 SQL 命令是什么?示例:我想将本月 1 月的所有日期时间值替换为 3 月的未来日期/时间。

由于其他 StackOverflow 问题,我知道如何选择一系列日期时间 - 例如:

但是如何添加 replace() 函数呢?

提前感谢您的帮助 - 我已经备份了数据库以防万一!

0 投票
2 回答
2007 浏览

c# - 存储过程 (Visual Studio ASP.Net 2005 C#)

我创建了一个名为“usp_insertempdata”的存储过程,它将数据插入到名为“Employee”的数据库表中,所以我执行了它,当我保存数据时出现异常:“ConnectionString 属性尚未初始化。请帮助!这里是我的代码

0 投票
5 回答
18300 浏览

sql-server - 我可以从 .NET 获取由 SqlCommand 对象(带有 SQL 参数)生成的完整 SQL 字符串吗?

从 .NET 环境中,我可以访问由SqlCommand对象生成的完整 SQL 字符串吗?

注意:完整的 SQL 字符串显示在 Intellisense 悬停中,在 VisualStudio 中,在调试模式下。

如果必须,我愿意使用反射技术。我敢肯定这里有人知道一种方法。


更新 1
我正在调用具有参数的存储过程,cmd.CommandType = CommandType.StoredProcedure并试图获取生成并运行的完整 SQL。我想知道如果cmd. Prepare()方法在这种情况下可能没有用,如果它可能将完整的字符串存储在状态字段或类似的东西中。


更新 2:

鉴于下面的答案(和引用)表明在准备或执行期间内部没有生成完整的 SQL 字符串,我使用 .NET Reflector 做了一些探索。甚至内部连接类似乎也传递对象而不是将它们归结为字符串,例如:

内部抽象 void AddPreparedCommand( SqlCommand cmd );
声明类型:System.Data.SqlClient.SqlInternalConnection
程序集:System.Data,版本=2.0.0.0


总的来说,感谢大家为证明可以做什么并展示实际发生的事情所付出的详细程度。非常感激。我喜欢详尽的解释;他们增加了保证并为答案提供了可信度。

0 投票
2 回答
1221 浏览

c# - SqlParameter 参数方向

SqlParameters一位开发人员今天问我,将 all 设置为SqlCommandto是否有缺点或风险ParameterDirection.InputOutput。我想不出任何期望可能会出现一些性能问题(但甚至不确定)?有人有这方面的经验吗?

0 投票
5 回答
40329 浏览

c# - 将参数传递给c#中的sql存储过程

以上是我尝试编写的代码,以CARIID使用整数参数调用以下存储过程。当我运行代码时,会发生错误并说"Procedure or function 'GetIslemIdleri' expects parameter '@CARIID', which was not supplied." ,但据我从这里读到的示例所了解的,我正在发送带有此代码的参数,cmd.Parameters.Add(new SqlParameter("@CARIID", 110));我需要帮助,提前谢谢你。

0 投票
4 回答
64959 浏览

c# - " ReadOnlyException DataTable DataRow "列 X 是只读的。"

我有一小段代码,它最初一遍又一遍地创建了一个SqlDataAdapter对象。

为了稍微简化我的调用,我将SqlDataAdapter替换为SqlCommand并将SqlConnection移到循环之外。

现在,每当我尝试编辑返回到我的DataTable的数据行时,我都会抛出一个以前没有抛出的ReadOnlyException 。

注意:我有一个自定义函数,可以根据他们的 ID 检索员工的全名。为了简单起见,我在下面的示例代码中使用了“John Doe”来证明我的观点。

ExampleQueryOldSqlDataAdapter一起使用;每当我尝试写入DataRow的元素时, ExampleQueryNew 都会失败并出现ReadOnlyException

  • ExampleQueryOld

这有效并且没有问题:

  • ExampleQueryNew

此示例引发 ReadOnlyException:

为什么我可以在一种情况下写入DataRow元素,而在另一种情况下不能?

是因为SqlConnection仍然打开还是SqlDataAdapter在幕后做某事?

0 投票
4 回答
39413 浏览

c# - 使用 SqlCommand ,如何向其对象添加多个参数,通过 winform 在 sql 表中插入

我的 winform 中有十个文本框,我需要将在这些文本框中输入的文本保存到 sql 数据库表的 10 列中。所以,为此我应该写:

每个文本框十个单独的查询:

或者,请建议一个有效的代码。

如何在单个语句中向 cmd 添加多个参数?是否可以?