【发布时间】:2011-03-02 02:08:07
【问题描述】:
我需要对将返回零或一的数据库运行查询 (检查是否存在特定标准)。 我获得的技术规范表明我应该创建一个存储过程,它将返回一行,一个名为“result”的列将包含一个位值 0 或 1。 但是,我不确定存储过程是否是最好的方法,但我有点不确定,所以我想问问你的意见。 我能想到的两个选项是:
1:创建一个执行查询并返回位的 SQL 标量值函数。 然后可以使用“TEXT”SqlCommand 对象从 .Net 客户端应用程序中直接调用它,它会从“ExecuteScalar()”方法返回一个布尔值。
2:按照技术规范中的说明创建存储过程。 然后,它会以正常方式从 .Net 客户端应用程序中调用,并返回一个包含位值的单行单列 DataTable。
对我来说,选项一似乎是最好的。然而,我的脑海里有一些东西在说这不是一个好主意。
请您发表您的意见并帮助减轻我的担忧吗? :)
干杯, 伊恩
【问题讨论】:
-
对于这样的单个结果,使用 DataReader 或 DataAdapter 是多余的。使用 ExecuteScalar() 方法。
-
谢谢 Jeff - 在以下答案之一出现之前,我实际上并不知道您可以针对存储过程执行此操作:)
标签: sql sql-server stored-procedures user-defined-functions