SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments) Methode

Definition

Ruft Daten aus der zugrunde liegenden Datenbank mithilfe der SelectCommand-SQL-Zeichenfolge und aller Parameter in der SelectParameters-Auflistung ab.

protected public:
 override System::Collections::IEnumerable ^ ExecuteSelect(System::Web::UI::DataSourceSelectArguments ^ arguments);
protected internal override System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);
override this.ExecuteSelect : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Protected Friend Overrides Function ExecuteSelect (arguments As DataSourceSelectArguments) As IEnumerable

Parameter

arguments
DataSourceSelectArguments

Ein DataSourceSelectArguments-Objekt, mit dem Datenvorgängen angefordert werden, die über einen grundlegenden Datenabruf hinausgehen.

Gibt zurück

Eine IEnumerable-Liste mit Datenzeilen.

Ausnahmen

Die an die ExecuteSelect(DataSourceSelectArguments)-Methode übergebenen arguments geben an, dass die Datenquelle während des Datenabrufs noch weitere Aufgaben ausführen muss, um das Paging oder das Sortieren der abgerufenen Daten zu ermöglichen. Das Datenquellen-Steuerelement unterstützt die erforderlichen Funktionen jedoch nicht.

- oder -

Caching ist aktiviert, aber die DataSourceMode-Eigenschaft der Datenquelle ist nicht auf DataSet festgelegt.

- oder -

Die SortParameterName-Eigenschaft wurde festgelegt, aber CommandType ist nicht auf StoredProcedure festgelegt.

Die Datenquelle kann keine Datenbankverbindung erstellen.

- oder -

Die Zwischenspeicherung ist aktiviert, aber die internen Cache- und Befehlstypen entsprechen einander nicht.

Hinweise

Die SqlDataSourceView -Klasse implementiert die geerbte ExecuteSelect Methode, um Daten aus einer Datenbank abzurufen. Seitenentwickler und Autoren von datengebundenen Steuerelementen rufen die ExecuteSelect -Methode nicht direkt auf. Verwenden Sie stattdessen die öffentlich verfügbar gemachte Select Methode.

Bevor der Datenabruf ausgeführt wird, wird die OnSelecting -Methode aufgerufen, um das Ereignis auszulösen Selecting . Sie können dieses Ereignis behandeln, um die Werte der Parameter zu untersuchen und vor dem Abrufen der Daten vorzuverarbeiten.

Um den Vorgang auszuführen, erstellt das SqlDataSourceView -Objekt ein DbCommand -Objekt unter Verwendung des SelectCommand Texts und eines zugeordneten SelectParametersund führt es für die zugrunde liegende Datenbank aus. Nach Abschluss des Vorgangs wird die OnSelected -Methode aufgerufen, um das -Ereignis auszulösen Selected . Sie können dieses Ereignis behandeln, um alle Rückgabewerte und Fehlercodes zu untersuchen und eine Nachbearbeitung durchzuführen.

Die ExecuteSelect -Methode gibt ein DataView -Objekt zurück, wenn auf DataSourceModeDataSetfestgelegt ist, oder ein IDataReader -Objekt, wenn auf DataSourceMode festgelegt DataReaderist. Schließen Sie das IDataReader -Objekt, wenn Sie das Lesen der Daten abgeschlossen haben.

Wenn auf DataSourceModeDataSet festgelegt ist und das SqlDataSourceView Zwischenspeichern aktiviert ist, werden während des Datenvorgangs Daten aus dem Cache abgerufen und gespeichert. Der Cache wird basierend auf dem Zwischenspeicherungsverhalten erstellt, verworfen oder aktualisiert, das durch die Kombination der CacheDuration Eigenschaften und CacheExpirationPolicy angegeben wird.

Wichtig

Wenn Sie den Clientidentitätswechsel unter Windows-Authentifizierung verwenden, werden die Daten zwischengespeichert, wenn der erste Benutzer auf die Daten zugreift. Wenn ein anderer Benutzer dieselben Daten anfordert, werden die Daten aus dem Cache abgerufen. Die Daten werden nicht durch einen weiteren Aufruf der Datenbank abgerufen, um den Zugriff des Benutzers auf die Daten zu überprüfen. Wenn Sie erwarten, dass mehrere Benutzer auf die Daten zugreifen und jeder Abruf der Daten durch die Sicherheitskonfigurationen der Datenbank überprüft werden soll, verwenden Sie keine Zwischenspeicherung.

Wenn auf DataSourceModeDataSet festgelegt ist und ein FilterExpression angegeben wurde, wird es zusammen mit allen angegebenen FilterParameters ausgewertet, und der resultierende Filter wird während des Datenabrufvorgangs auf die Liste der Daten angewendet.

Gilt für:

Weitere Informationen