sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man hämtar databasschemat för en lagrad procedur

Jag är inte medveten om Enterprise Library men med vanlig ADO.NET skulle koden likna följande

//assume an open connection
using(connection)
{
    using (DbCommand command = connection.CreateCommand())
    {
        command.CommantText = "procedure name";
        //setup and add parameters.
        SqlParameter parameter = command.CreateParameter();
        parameter.Name = "param name";
        //set the mode - out/inputOutput etc
        //set the size
        //set value to DBNull.Value

        //execute the stored procedure with SchemaOnly parameter
        var reader = command.ExecuteReader(CommandBehavior.SchemaOnly);
        var table = reader.GetSchemaTable();
     }
}

Du kan sedan analysera datatabellen för detaljerad resultatuppsättningsinformation.

Du kan naturligtvis använda generiska typer i ovanstående kod - DbCommand, DbParameter etc. Min gissning är att du med Enterprise Library i princip skulle behöva göra samma sak - exekvera den lagrade proceduren som du skulle göra normalt förutom med inställningen 'SchemaOnly'.



  1. Laravel vältalig grupp enligt senaste skivan

  2. Byta namn på en InnoDB-tabell utan att uppdatera referenser för främmande nyckel till den?

  3. AttributeError:modulen 'mysql' har inget attribut 'connector'

  4. Hur kan jag köra bara satsen som min markör står på i SQL Server Management Studio?