Forum: Datenbanken
by Luckner,
22. Jul 2015
Mit " Label138.Caption := IntToStr(DataArtikelStanzen.IBDataSetArtikelStanzen.RecordCount); stelle ich fest, dass RecordCount = 0 ist, obwohl mindestens 2 Datensätze drin sind. Deshalb ist nichts zu löschen da. Also werde ich mir mal das Dataset anschauen.
Forum: Datenbanken
by Luckner,
22. Jul 2015
Hinter "DataArtikelStanzen.IBDatabaseArtikelStanzen" verbirgt sich ein Dataset. Komisch, ich habe es schon so einigemale benutzt ohne Probleme. Auch ohne dem "where ...". Habe auch für ARTIKEL_ID eine 3 gesetzt, wie in der Tabelle. QuotedStr ist falsch an dieser Stelle (war nur ein Versuch).Immer wieder der selber Fehler.
Hier noch ein Beispiel:
...
Forum: Datenbanken
by Luckner,
22. Jul 2015
* wird bei delete nicht verwendet. Es wird der gesamter Datensatz gelöscht.
Forum: Datenbanken
by Luckner,
22. Jul 2015
DataArtikelStanzen.IBDatabaseArtikelStanzen.Close;
DataArtikelStanzen.IBDataSetArtikelStanzen.DeleteSQL.Clear;
DataArtikelStanzen.IBDataSetArtikelStanzen.DeleteSQL.Text := 'delete from ARTIKELSTANZEN where ARTIKEL_ID = ' + QuotedStr(IntToStr(selectArtikel));
DataArtikelStanzen.IBDataSetArtikelStanzen.ExecSQL;
So bekommen ich die Meldung "Verwenden Sie Open für eine select-Anweisung"
Forum: Datenbanken
by Luckner,
22. Jul 2015
Hallo,
habe ein Problem mit der u.g. Routine einige Datensätze in einer Tabelle zu löschen. Die Tabell gibts es, die Felde ebenfalls und die Datensätze auch. Bekommen eine Fehlermeldung "IBDatasetArtikelStanzen: Operation bei leeren Datenmenge nicht ausführbar"
DataArtikelStanzen.IBDatabaseArtikelStanzen.Close;
DataArtikelStanzen.IBDataSetArtikelStanzen.DeleteSQL.Clear;
...