Czy istnieje rozsądny sposób uzyskania listy oczekiwanych parametrów z SqlDataSource z podaniem nazwy procedury składowanej przypisanej do jej właściwości SelectCommand?Uzyskiwanie listy parametrów z SQLDataSource z podaną nazwą procedury składowanej
5
A
Odpowiedz
10
Można użyć metody SqlCommandBuilder.DeriveParameters, aby zwrócić informacje o parametrach powiązanych z procedurą składowaną. Iterowanie nad kolekcji pozwoli określić nazwę parametru, typ danych, kierunek itp
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection("myConnectionString");
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "myStoredProcName";
cmd.Connection = conn;
conn.Open();
SqlCommandBuilder.DeriveParameters(cmd);
conn.Close();
SqlParameterCollection collection = cmd.Parameters;
Spójrz na definicji klas w SqlParameterCollection i SqlParameter aby uzyskać więcej informacji.
0
nie mam VS.NET go wypróbować, ale .Prepare() może zrobić dla ciebie :)
Albo można po prostu dodać parametry. :)
1
Nie jestem pewien, czy można to zrobić w środowisku ADO.NET bezpośrednio, jakoś - ale zawsze można zapytać „SYS” widoki systemowe, aby uzyskać te informacje:
select * from sys.parameters
where object_id in
(select object_id from sys.procedures where name = 'YourSProc')
Marca
0
A także:
EXEC sp_sproc_columns 'YourSProc'
Excellent - dzięki, to bardzo pomocne, aby wiedzieć. –