C # Führen Sie eine Prozedur aus, ohne einen Parameternamen anzugeben

7

Wie kann ich eine gespeicherte Prozedur ausführen, die Parameter akzeptiert, ohne den Namen des Parameters angeben zu müssen? Der Name des Parameters in der gespeicherten Prozedur kann sich von CustomerID zu CustID ändern, damit ich meinen Code nicht ändern muss.

Anstatt zu tun, was unten angegeben ist, wo Sie den Parameternamen angeben -

%Vor%

Ich möchte etwas so machen -

%Vor%     
m0g 03.03.2011, 14:08
quelle

6 Antworten

16
  

Der Name des Parameters in der gespeicherten Prozedur kann sich von CustomerID zu CustID

ändern

Schlag die Person, die das macht.

Parameternamen sind Ihre zuverlässige Methode, um einen Parameter zu identifizieren. Die andere Option ist Sequenz, scheint viel flockiger.

    
Henk Holterman 03.03.2011, 14:15
quelle
5

Ich glaube nicht, dass Sie ein Objekt SqlParameter erstellen können, ohne seinen Namen anzugeben. Sie sollten jedoch die DeriveParameters -Methode ( MSDN verwenden können ), um eine Sammlung von Parametern zu erhalten, deren Namen automatisch vom SQL-Server bezogen werden.

Sie finden hier ein Beispiel . Es sieht ungefähr so ​​aus:

%Vor%     
Tomas Petricek 03.03.2011 14:15
quelle
0

Verwenden Sie Parameter Discovery, scrollen Sie nach unten: Ссылка

    
cederlof 03.03.2011 14:15
quelle
0

Sie können einen namenlosen SQL-Parameter erstellen, wenn Sie seinen Namen auf null oder leer setzen , nachdem er der Parameters-Auflistung hinzugefügt wurde, etwa so:

%Vor%     
Simon Mourier 02.08.2016 08:15
quelle
-2

Sie könnten SQL exec verwenden, das nicht nach Parameternamen fragt:

%Vor%

Wenn Ihre Parameterquelle nicht vertrauenswürdig ist, sollten Sie einfache Anführungszeichen in den String-Parametern vermeiden. Es ist für stringParameter im obigen Ausschnitt gemacht.

    
Andomar 03.03.2011 14:13
quelle