【发布时间】:2013-07-23 19:43:47
【问题描述】:
我创建了一个存储过程,它接受一个参数,一个表的名称,如果它存在于数据库中则返回 1,如果不存在则返回 0。在 SQL Server Management Studio 中测试我的存储过程完全按照我的意愿工作,但是我无法在我的 C# 程序中使用该值。
我的选项似乎是 ExecuteScalar()、ExecuteNonQuery() 或 ExecuteReader(),这些选项似乎都不适合该任务,我什至无法让它们检索我的存储过程的结果。
我已尝试再次使用 cmd.Parameters.AddWithValue 和 cmd.Parameters.Add 分配我的参数,但无济于事。
【问题讨论】:
-
你的存储过程是返回还是选择结果?如果您“选择 TableExists=1”而不是“返回 1”会更容易。然后你可以使用 ExecuteScalar()。
-
是的,它正在返回。如果它使事情变得更容易,我会考虑使用 SELECT。
-
我更喜欢输出参数。但这是个人喜好。看这个答案。但是“是”对“使用 SELECT”stackoverflow.com/questions/10905782/…
-
marc_s 的答案是。
标签: c# sql-server stored-procedures