2009-03-11 13 views

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

Excellent - dzięki, to bardzo pomocne, aby wiedzieć. –

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

Powiązane problemy