- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
显式使用 StoredProcedure CommandType 与仅使用文本命令相比有什么好处吗?换句话说,是
cmd = new SqlCommand("EXEC StoredProc(@p1, @p2)");
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@p1", 1);
cmd.Parameters.Add("@p2", 2);
比
还差cmd = new SqlCommand("StoredProc");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@p1", 1);
cmd.Parameters.Add("@p2", 2);
编辑:修复了错误的复制粘贴作业(再次)。此外,问题的重点是数据访问类。我宁愿能够在一行中传递存储的过程名称和参数,而不是为每个参数额外的行。
最佳答案
一个区别是消息泵送的发生方式。
在我以前工作的地方,我们有许多通宵运行的批处理过程。其中许多只涉及运行存储过程。我们曾经使用 sql server 作业来安排这些,但现在不再使用它,而是从 .Net 程序中调用过程。这使我们能够将所有计划任务保存在一个地方,即使是那些与 Sql Server 无关的任务。
它还允许我们在调用过程的 .Net 程序中构建更好的日志记录功能,以便所有夜间进程的日志记录是一致的。存储过程将使用 sql print
和 raiserror
函数,.Net 程序将接收并记录这些函数。我们了解到,CommandType.StoredProcedure
将始终将这些消息缓冲到大约 50 条的批处理中。在过程完成或刷新之前,.Net 代码不会看到任何日志事件缓冲区,无论你在连接上设置了什么选项或者你在你的 sql 中做了什么。 CommandType.Text
为我们解决了这个问题。
作为附带问题,我会在您的查询参数中使用显式类型。让 .Net 尝试推断您的参数类型在某些情况下可能会导致问题。
关于c# - CommandType.Text 与 CommandType.StoredProcedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/643880/
显式使用 StoredProcedure CommandType 与仅使用文本命令相比有什么好处吗?换句话说,是 cmd = new SqlCommand("EXEC StoredProc(@p1,
我想创建一个通知类或结构 我想在其中使用类似的东西: //发送新通知 Notification newnotification = new Notification(); newnotificatio
所以在 C# 中使用存储过程我有如下代码(省略连接代码): string sql = "GetClientDefaults"; SqlCommand cmd = new SqlCommand(sq
有人可以帮助我理解为什么我会在此处收到该错误吗? using System; using System.Collections.Generic; using System.Linq; using Sy
很多类似的问题正在发生,但谷歌和堆栈溢出并没有触及我认为我需要的部分。我正在尝试使用宏导入管道分隔的文本文件。当我录制宏时,这是我得到的: With ActiveSheet.QueryTables.A
考虑以下代码: public List Read() { using (IDbConnection db = new SqlConnection (Conf
这个问题在这里已经有了答案: When executing a stored procedure, what is the benefit of using CommandType.StoredPr
与 CommandType.StoredProcedure 或 CommandType.Text 不同的是,如何使用选项 CommandType.Tabledirect? 最佳答案 CommandTy
什么是Get-Command -CommandType 脚本?它涵盖了哪些类型的命令?关于 Script 的帮助告诉我们“-- Script:当前 session 中的脚本 block 。”但我不确定
我正在看一个网络教程,讲师用我听不懂的语言说话,而且视频没有显示完整的长度。谁能告诉我这条线应该是什么样子... private void Insertbtn_Click(object sender
我将 Dapper 与 C# 和 SQL Server 结合使用。我在 SQL Server 中有一个存储过程,可以将一个人插入到我的数据库中。问题是,当我在查询中指定它是一个存储过程时,我得到了 C
问题是: 当您从 MySQL 调用存储过程到 C# 代码时,您将string ["CALL Proc_name('param1', 'param2', 3)"] 直接作为插入或删除时类似的语句,如下所
我是一名优秀的程序员,十分优秀!