4 Stimmen

Standardgrößen für SQL-Parameter in ADO.NET

Es gibt mehrere Überladungen für die Funktion sqlcommand.Parameters.Add(...). Einige von ihnen nehmen keine Größe an, andere schon. Welche Größen sind standardmäßig eingestellt? Ist es sicher, keine Parametergrößen zu setzen? Beeinträchtigt es die Leistung?

4voto

Dan F Punkte 11764

から SqlParameter.Size-Eigenschaft Doku

Wenn nicht ausdrücklich festgelegt, wird die Größe aus der tatsächlichen Größe des angegebenen Parameterwerts abgeleitet.

Es gibt eine großartige Antwort von Peter Wone auf 293315 in dem ausführlicher beschrieben wird, was das eigentlich bedeutet

1voto

DOK Punkte 31893

Es ist möglich, einen Parameter, der zu groß für den Datentyp der Datenbank ist, von .Net-Code an SQL Server zu senden. Wenn Sie die Größe beim Erstellen des Parameters in Ihrem .Net-Code festlegen, wird eine Ausnahme ausgelöst, wenn ein zu großer Wert gesendet wird. So wissen Sie früher Bescheid und verschwenden den Datenbankaufruf nicht.

Alternativ können Sie auch eine maximale Anzahl von Zeichen für bestimmte Textfelder festlegen. Die Datenbank könnte Nachnamen mit 400 Zeichen zulassen, Sie wollen aber nur varchar 100.

Die Eigenschaft des Parameters Nullable ist ähnlich. Sie ist optional, aber wenn der Parameter im Sproc-Aufruf nicht null sein kann, wird das Problem in Ihrem .Net-Code schneller auffallen, wenn Sie ihn nicht nullbar machen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X