StoredProcedures und Parameter

31/07/2008 - 10:15 von Peter Forstmeier | Report spam
Hallo zusammen,
ich sollte unter OLEDB auf einen SQlServer zugreifen und StoredProcedures
nach ihren Parametern fragen können.
Also in der Art 'Sp_XXX hast Du Parameter u wenn ja welche'.

Kann mir jemand erklàren wie das geht?
Danke
Peter
 

Lesen sie die antworten

#1 Elmar Boye
31/07/2008 - 11:02 | Warnen spam
Hallo Peter,

Peter Forstmeier schrieb:
ich sollte unter OLEDB auf einen SQlServer zugreifen und
StoredProcedures nach ihren Parametern fragen können.
Also in der Art 'Sp_XXX hast Du Parameter u wenn ja welche'.



Der einfachste Weg ist über OleDbCommandBuilder.DeriveParameters,
siehe Beispiel unten.
Eine alternative Variante wàre über OleDbConnection.GetSchema
(liefert eine DataTable, die man erst umstricken muß).

In allen Fàllen können prinzipbedingt Ausgabeparameter nicht
eindeutig zugeordnet werden - es wird dabei immer
ParameterDirection.InputOutput geliefert.

Gruß Elmar

const string ConnectionString = @"Provider=SQLOLEDB.1;Data Source=(local)\SQL2005;Initial Catalog=Northwind;Integrated
Security=SSPI;";

private void OleDbParameters()
{
using (OleDbConnection connection = new OleDbConnection(ConnectionString))
{
connection.Open();

OleDbCommand command = new OleDbCommand("[dbo].[CustOrderHist]", connection);
command.CommandType = CommandType.StoredProcedure;

OleDbCommandBuilder.DeriveParameters(command);
foreach (OleDbParameter parameter in command.Parameters)
{
Console.WriteLine("{0}, {1}", parameter.ParameterName, parameter.OleDbType);
}
}
}

Ähnliche fragen