gpt4 book ai didi

c# - 如何从 SQL Server 中的存储过程中检索参数列表

转载 作者:可可西里 更新时间:2023-11-01 03:14:05 24 4
gpt4 key购买 nike

使用 C# 和 System.Data.SqlClient,有没有办法在我实际执行之前检索属于 SQL Server 上存储过程的参数列表?

我有一个“多环境”场景,其中存在同一数据库模式的多个版本。环境示例可能是“开发”、“登台”和“生产”。 “开发”将有一个版本的存储过程,“登台”将有另一个版本。

我想要做的就是在传递一个值并调用存储过程之前验证参数是否存在。避免 SqlException 而不是必须捕获它对我来说是一个加号。

约书亚

最佳答案

你想要 SqlCommandBuilder.DeriveParameters(SqlCommand)方法。请注意,它需要与数据库进行额外的往返,因此对性能有一定的影响。您应该考虑缓存结果。

调用示例:

using (SqlConnection conn = new SqlConnection(CONNSTRING))
using (SqlCommand cmd = new SqlCommand("StoredProc", conn)) {
cmd.CommandType = CommandType.StoredProcedure;
SqlCommandBuilder.DeriveParameters(cmd);

cmd.Parameters["param1"].Value = "12345";

// ....
}

关于c# - 如何从 SQL Server 中的存储过程中检索参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com