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;