+1 800 256 3608 (toll-free in North America) or +49 7531 9060-10| service@combit.com

Fehler beim Hinzufügen einer Relation zwischen zwei Befehlen (LL26)

Hallo,

ich habe eine Problem in meinem DbCommandSetDataProvider eine Relation zwischen 2 SqlCommands zu setzen. Im Debug Log wird eine Where Clause falsch gesetzt oder nicht richtig aufgelöst.

Ich nutze List&Label 26 und die Anwendung greift auf eine MySQL Datenbank zu.

DbCommandSetProvider dbCommandSetProvider = new DbCommandSetProvider();
dbCommandSetProvider.MinimalSelect = false;

MySqlConnection conn = new MySqlConnection(builder.ConnectionString);
MySqlCommand command1 = new MySqlCommand("Select * from result_items");
MySqlCommand command2 = new MySqlCommand("Select * from results");

dbCommandSetProvider.AddCommand(command1, "results");
dbCommandSetProvider.AddCommand(command1, "result_items");

dbCommandSetProvider.AddRelation("result2items", "results", "result_items", "id", "result_id");

Die Daten Tabelle results und result_items können ohne Probleme in Elemente wie z.B. Tabellen ausgegeben werden. Sobald ich auf die Relation “results” innerhalb “result_items” klicke bekomme ich eine Fehlermeldung:

Fehler beim Zugriff auf Tabelle 'result_items'. Bitte kontaktieren Sie Ihren Hersteller.

Im Debug Log steht:

CMLL26  : 11:08:30.125 00002b34/00 8 [L01 EXT]:     SELECT *
CMLL26  : 11:08:30.125 00002b34/00 9 [L01 EXT]:     FROM results
CMLL26  : 11:08:30.125 00002b34/00 0 [L01 EXT]:     WHERE "id"=LLKeyVal0
CMLL26  : 11:08:30.125 00002b34/00 1 [L01 EXT]:     Executing database command 
CMLL26  : 11:08:30.125 00002b34/00 2 [L01 EXT]:     SELECT *
CMLL26  : 11:08:30.125 00002b34/00 3 [L01 EXT]:     FROM results
CMLL26  : 11:08:30.125 00002b34/00 4 [L01 EXT]:     WHERE "id"=LLKeyVal0
CMLL26  : 11:08:30.125 00002b34/00 5 [L01 EXT]:     Parameters:
CMLL26  : 11:08:30.125 00002b34/00 6 [L01 EXT]:     LLKeyVal0 -> 1
CMLL26  : 11:08:30.125 00002b34/00 7 [L01 EXT]:     -----------
CMLL26  : 11:08:30.225 00002b34/00 8 [L01 EXT]:     ERR:Caught MySqlException (Unknown `> column 'LLKeyVal0' in 'where clause').

Hallo,

herzlich willkommen im List & Label Forum. Für MySql müssen Sie bei “AddCommand” Parameter für das Parameterformat und Identifierformat übergeben:

AddCommand(cmd,name, “{0}”, “?{0}”);

Weiter Hinweise zur Syntax der AddCommand Methode finden Sie hier.

1 Like

Danke für die schnelle Antwort. Den Hinweis in der Dokumentation hatte ich übersehen.

1 Like

© combit GmbH