直接从 C# 调用 SQL 函数

2023-12-26

我需要对数据库运行查询,该查询将返回零或一 (检查特定标准是否存在)。 我收到的供审查的技术规范指出,我应该创建一个存储过程,该过程将返回一行,其中有一列称为“结果”,其中包含 0 或 1 位值。 但是,我不确定存储过程是否是最好的方法,但我有点不确定,所以我想征求您的意见。 我能想到的两个选择是:

1:创建一个 SQL 标量值函数来执行查询并返回一个位。 然后可以使用“TEXT”SqlCommand 对象直接从 .Net 客户端应用程序中调用它,并且将从“ExecuteScalar()”方法返回一个布尔值。

2:按照技术规范中的描述创建存储过程。 然后,这将以正常方式从 .Net 客户端应用程序调用,并将返回具有单行和单列的 DataTable,其中包含位值。

对我来说,选项一似乎是最好的。然而,我脑子里的某些声音告诉我这不是一个好主意。

请您发表意见并帮助缓解我的担忧吗? :)

干杯, 伊恩


使用以下命令执行存储过程执行标量()方法。然后您可以将其结果转换为布尔值。

e.g

   SqlConnection con = new SqlConnection(connectionString);
    SqlCommand com = new SqlCommand("Execute dbo.usp_MyStoredProc", con);
    return (Boolean)com.ExecuteScalar();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

直接从 C# 调用 SQL 函数 的相关文章

  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA
  • SQL Server Express 到 .mdf 文件的连接

    两部分问题 我使用 VS 2015 Update 3 创建了一个 ASP NET MVC 5 应用程序 我在本地计算机上完成了该项目 突然 我无法再通过 SQL Server 对象资源管理器连接到 mdf数据库文件并出现以下错误 无法打开数
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 如果执行没有事务的删除语句,是否会删除部分内容?

    如果表myTable包含100000000条记录 我执行DELETE FROM myTable 没有开始交易并且出现问题 例如服务器电源故障 会删除一些记录吗 否 如果数据库引擎符合ACID http en wikipedia org wi
  • SQL Server 相当于 MySQL 的 USING

    在 MySQL 中 当您连接不同表中具有相同名称的列时 可以在连接中使用关键字 USING 例如 这些查询产生相同的结果 SELECT FROM user INNER JOIN perm USING uid SELECT FROM user
  • 消息 102,级别 15,状态 1,第 1 行“ ”附近的语法不正确

    我试图从临时表中查询 但不断收到此消息 Msg 102 Level 15 State 1 Line 1 Incorrect syntax near 有人能告诉我问题是什么吗 是因为要转换吗 查询是 select compid 2 conve
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 对具有许多索引的表进行缓慢的批量插入

    我尝试将数百万条记录插入到具有 20 多个索引的表中 在上次运行中 每 100 000 行花费了 4 个多小时 并且查询在 3 5 天后被取消 您对如何加快速度有什么建议吗 我怀疑是索引太多的原因 如果你也这么认为 如何在操作前自动删除索引
  • PHP DBlib PDO 问题

    我正在尝试通过 php 连接到 MSSQL 服务器 但我的 pdo 连接给我带来了困难和我不太理解的错误 我在下面粘贴的代码一周前运行得很好 突然间它就停止了 没有任何人进行任何更改 我仍然可以连接到服务器并直接从命令行运行查询 但我在 p
  • 为什么查询优化器完全忽略索引视图索引?

    SQL 小提琴 http sqlfiddle com 6 d4496 1 http sqlfiddle com 6 d4496 1 数据是为您的实验预先生成的 有一个明显的表格 CREATE TABLE Entity ID int Clas
  • 在 C# 中将平面数据库结果集转换为分层对象集合

    我有一个数据库查询 它以平面格式返回分层数据 例如客户 订单和订单项目 只是一个例子 我的数据不同 如何将其转换为分层对象集合 即客户对象的集合 其中每个客户对象都有订单对象的集合 每个订单对象都有订单项目对象的集合 这只是循环遍历每个项目
  • 该驱动程序未配置为集成身份验证

    尝试使用以下命令将我的 Java Web 应用程序与 MS SQL 服务器连接sqljdbc41 for jdk 1 8 这是数据库连接代码 Connection connection String url jdbc sqlserver l
  • 在sql server 2008中插入新记录时如何检查数据库中的值是否已存在

    我创建了一个存储过程 用于从表中选择值 如果该值已经存在 那么它将更新该值 但如果不存在 那么它将插入新值 我为此使用了存储过程 如下所示 Create PROCEDURE dbo sp Insert Tid int NULL Quid i
  • 当我输入 dateadd 或 datediff 代码时,我总是收到此错误“ORA-00904“DATEADD”无效标识符。”

    我有一个大学项目 并且有一个包含入院和出院日期属性的患者表 我需要删除超过 7 年的记录 我使用了以下代码 delete from patient where dis date gt datedadd yy 7 getdate 我收到错误
  • 最佳实践 - 存储过程日志记录

    如果您有一个长时间运行的 SP 您会以某种方式记录其操作还是只是等待此消息 命令成功完成 我认为 关于这个主题可以有很多解决方案 但是有没有最佳实践 一个经常使用的简单解决方案 EDIT 我发现了一个关于这个主题的有趣链接 http web
  • 计算树中值的总和(递归查询)

    我在表员工 id name parentid 中有树结构 并且该表可以嵌套 employees 与另一个具有列 id employeeid quantity 的 Sales 表是一对多关系 每个员工都有销售数量 我想计算每个员工以及儿童员工
  • 如何在SqlAlchemy中执行“左外连接”

    我需要执行这个查询 select field11 field12 from Table 1 t1 left outer join Table 2 t2 ON t2 tbl1 id t1 tbl1 id where t2 tbl2 id is

随机推荐

  • 使用 Java Files.copy 复制后出现空白页的 PDF 文件

    我正在尝试将类路径中的文件复制到另一个临时位置 这是它的代码 InputStream inputStream this getClass getClassLoader getResourceAsStream readmeFile Path
  • activerecord 中按外键排序

    我有一张桌子Foo and Bar Foo有一个Bar 当我查询时Foo 我如何按日期列进行排序Bar table Thanks Foo find all joins gt boo order gt bars created at DESC
  • 检测点击以显示/隐藏 UINavigationBar

    我对 iPhone 开发有点陌生 还没有做过任何涉及触摸的事情 我的视图层次结构如下 UIView UIImageView UIScrollView CustomView 如何检测用户是否点击了屏幕上的任意位置 以便相应地显示 隐藏导航栏
  • Javascript 数字比较失败

    我试图理解我的错误在哪里 因为 JS 不可能数学失败 在 HTML 表单上 我有一个选择和 9 个文本输入 然后 在 JS 上我比较输入的文本 我的问题如下 如果我写在 new da3 1400 new a3 1900 JS 会说 ok3
  • 在 ASP.NET MVC 中使用 Universe 数据库处理身份验证的最佳方法是什么?

    我们使用名为 Universe 的 IBM 数据库 该数据库将所有用户 ID 密码和配置文件信息保存在名为 USERINFO 的表中 我可以使用会员资格提供程序连接到此数据库并对用户进行身份验证吗 数据库访问实际上是通过 Web 服务进行的
  • 使用没有客户端密钥的授权代码替换 OAuth2 隐式授予

    一些公司正在使用不带客户端密钥的 OAuth 2 0 身份验证代码来代替客户端 JavaScript 应用程序的隐式授予 使用没有客户端密钥的身份验证代码与隐式授予的一般优点 权衡是什么 是否有更多的公司和 或标准组织正在这样做 Red H
  • 使用 unity xml 配置来注册具有嵌套泛型的接口

    如果我有一个实现通用接口的类 那么使用 unity xml 配置来配置它就可以很好地工作 public interface IReader
  • 如何通过上下文更改 Spring Security 角色?

    我想知道是否可以根据所选类别设置角色 在我们的应用程序中 有包含文章的类别 现在我们有这样的角色层次结构 ROLE ADMIN gt ROLE EDITOR gt ROLE USER 问题是 根据当前选择的类别 用户可能具有不同的角色 us
  • 如何在 R 中绘制阶乘函数

    我正在尝试绘制 使用以下 R 代码没有成功 N seq from 150 to 2000 P factorial 60 factorial 50 factorial N 60 factorial N 150 factorial N fact
  • 如何让 \bm{} 在 R markdown(到 HTML)文件中工作?

    我的 R Markdown Rmd 文件如下所示 title Foo author Marius Hofert header includes usepackage bm output pdf document vignette gt Vi
  • module.run() 和 $state.go()

    我可能有某种误解 我使用 Angular ui 路由器 我遇到了下一个问题 我有下一个状态提供者 angular module MainApp config stateProvider urlRouterProvider function
  • 重新创建数据表时,Jquery Datatable 给出错误: TypeError: t[c] is undefined

    我有一个创建数据表的函数 在页面加载时创建并绘制数据表 现在 当我提交表单以在表上进行搜索时 我调用相同的函数 首先 我创建数据表的实例 调用清除函数 然后调用该函数重新创建它 这是我第一次创建数据表的方法 效果很好 window load
  • 如何在 C# 中为 RavenDB 正确创建 Map/Reduce 索引

    我正在开发一个在后端使用 RavenDB 的应用程序 这是我第一次使用 Raven 我在 Map Reduce 方面遇到了困难 我已经阅读文档 http ravendb net docs client api querying static
  • Laravel:在自定义类中重定向?

    我不确定这是 正确 的做事方式 但逻辑是有效的 我在 Laravel 设置中有自己的课程 我use在控制器中 在我的控制器中 我在自定义类中调用一个函数 但是如果该函数中发生某些情况 我想重定向用户 在 IRC 上聊天后 我被告知你不能在自
  • scikit-learn中的predict_proba和decision_function有什么区别?

    我正在学习一个scikit learn 示例 http scikit learn org stable auto examples classification plot classifier comparison html 分类器比较 并
  • 如何在DynamoDB中根据HashKey和range Key进行查询?

    我是新来的DynamoDb东西 我只是想知道我们如何使用以下命令查询 DynamoDB 中的表hashKey and rangeKey 假设我的桌子是TestTable它的架构是这样的 1 Id HK of type String 2 Da
  • LIKE sqldf 上的内连接

    我怎样才能使用LIKE在 R 中使用 sqldf 包含内连接的子句 代码 Name lt c Jack Jill Romeo Name lt as data frame Name FullName lt c School Jack H Sc
  • 如何从 Powershell 事件订阅者操作​​设置前台窗口

    我有一个文件系统观察者实例在我的 PoSh 会话后台运行 监视文本文件的更改 PoSh 事件订阅者附加到该事件 当触发时 它通过调用启动控制台程序启动进程 该程序从当前前台窗口 我的 PoSh 控制台 窃取焦点 呼唤设置前景窗口从 PoSh
  • 如何在Java中获取完整的请求URL

    我有一个像这样的网址 www abc com jsessionid 53AA662D24A89922031913A6E85A005B 抱歉 我无法在这里指定我的实际站点名称 因此使用abc com 当上面的网址被点击时 我想剥离 jsess
  • 直接从 C# 调用 SQL 函数

    我需要对数据库运行查询 该查询将返回零或一 检查特定标准是否存在 我收到的供审查的技术规范指出 我应该创建一个存储过程 该过程将返回一行 其中有一列称为 结果 其中包含 0 或 1 位值 但是 我不确定存储过程是否是最好的方法 但我有点不确