Я надеялся найти простой способ получить список параметров параметры хранимых процедур. Если процедура имеет 3 параматерей, я хочу список как это:
param1
param2
param3
Было бы лучше смочь сделать это в Коде C#, но SQL будет достаточен также. Идеи?
select * from information_schema.parameters
where specific_name='your_procedure_name'
Также обратитесь к этому сообщению, чтобы узнать больше о методах https://exploresql.com/2016/10/14/different-methods-to-get-parameter-list-of-a-stored-procedure/
Если вы знакомы с Enterprise Library, есть хороший метод, который позволяет DiscoverParameters () , используя Блок приложения доступа к данным .
DbCommand command = new DbCommand();
command.CommandText = @"myStoredProc";
command.CommandType = CommandType.StoredProcedure;
Database database = new SqlDatabase(myConnectionString);
database.DiscoverParameters(command);
// ...
Некоторые ссылки, которые могут помочь:
Приведенные выше ссылки относятся к EntLib 3.1. В зависимости от версии .NET Framework, которую вы используете, вы также можете подумать о загрузке правильной версии EntLib, перейдя по по этой ссылке .
Для SQL Server это должно сработать.
private void ListParms()
{
SqlConnection conn = new SqlConnection("my sql connection string");
SqlCommand cmd = new SqlCommand("proc name", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlCommandBuilder.DeriveParameters(cmd);
foreach (SqlParameter p in cmd.Parameters)
{
Console.WriteLine(p.ParameterName);
}
}