Verwendung von SQL-Funktionen als Datenquelle für List & Label

Einleitung

Dieser Artikel zeigt, wie Sie SQL-Funktionen als Datenquelle in List & Label verwenden können.

Hinweise

Bitte beachten Sie, dass hierfür zwingend die folgenden beiden Eigenschaften des DbCommandSetDataProviders deaktiviert werden müssen.

  • Eigenschaft DisableIdentifierValidation
    List & Label verlässt sich darauf, dass die verwendeten SQL-Anweisungen korrekt sind und prüft daher die Spaltennamen nicht selbst auf deren Korrektheit, d.h. die SQL-Anweisungen werden 1:1 durchgeschleift. Setzen Sie diese Eigenschaft daher auf true.

  • Eigenschaft MinimalSelect
    Die Anpassung der SQL-Anweisungen zur Druckzeit durch List & Label muss unterbunden werden. Setzen Sie diese Eigenschaft daher ebenfalls auf false.

    Achtung: Diese kann je nach Größe der Datenquelle zu Performance-Einbußen führen.

Programmierbeispiel

// Erzeugen eines neuen DbCommandSetDataProvider Objekts
DbCommandSetDataProvider provider = new DbCommandSetDataProvider();

// Deaktivieren der IdentifierValidation
provider.DisableIdentifierValidation = true;

// Erzeugen eines neuen SQL Command
SqlCommand command = new SqlCommand("select * from myFunction(@Param)");

// SQL Verbindung aufbauen
SqlConnection sqlConnection = new SqlConnection(<Add your SQL Connection here>);
command.Connection = sqlConnection;

//  CommandType auf Text setzen
command.CommandType = CommandType.Text;

// Parameter hinzufügen
command.Parameters.AddWithValue("Param", 1);

// SQL Command an den DbCommandSetDataProvider übergeben
provider.AddCommand(command, "myFunction");

// Anpassung der Select-Anweisung unterbinden
provider.MinimalSelect = false;

// Datenquelle an List & Label übergeben
LL.DataSource = provider;
1 Like