AW: Probleme beim Speichern in eine Tabelle
Hallo,
ich werfe noch mal den DB-Monitor ins Spiel, falls es für diese Zugriffskomponenten einen gibt. Hattest Du das eigentlich auch mal schrittweise debuggt? #41 |
AW: Probleme beim Speichern in eine Tabelle
Zitat:
|
AW: Probleme beim Speichern in eine Tabelle
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
create table planung
( kundennr varchar(20), artikelnr varchar(10), bestellnr varchar(20), bestelldatum date, bestellmenge integer, lieferdatum date, liefermenge integer, format varchar(10), produktionsnr integer, maschine varchar(20) collate de_de, produktionsstunden decimal(7,2), id integer, lager integer, id_artikel integer, lageranzahl integer, lagerproduktion smallint, statusdatum date, statusname varchar(10) collate de_de, status varchar(30) collate de_de, id_auftrag integer, artnrsuffix smallint, auflage integer, bemerkung varchar(200) collate de_de, eingangsdatum date, rohwarenr integer, geliefert smallint, krawartnr varchar(15) ); grant delete, insert, references, select, update on plannung to sysdba with grant option;
Delphi-Quellcode:
Die *.dfm lässt sich irgenwie nicht hochladen.
create table auftrag
( id integer not null, kundennr varchar(20), artikelnr varchar(10), bestellnr varchar(20), bestelldatum date, bestellmenge integer, lieferdatum date, krawartnr varchar(15), krawauftrnr varchar(15), liefermenge integer, format varchar(10), gruppe integer, obermaterial varchar(30), kleber varchar(30), traeger varchar(30), farbe1 varchar(20), farbe2 varchar(30), farbe3 varchar(30), farbe4 varchar(30), lepoanzahl1 integer, lepoanzahl2 integer, lepoanzahl3 integer, lepoanzahl4 integer, anzahlaufrolle integer, grundpreis decimal(10,2), lochrand varchar(5), blattanzahl1 integer, blattanzahl2 integer, blattanzahl3 integer, blattanzahl4 integer, blattanzahl5 integer, blattanzahl6 integer, drucktext blob sub_type 0, bemerkung blob sub_type 0, zuschlag1 decimal(10,2), zuschlag2 decimal(10,2), zuschlag3 decimal(10,2), zuschlag4 decimal(10,2), zuschlag5 decimal(10,2), zuschlag6 decimal(10,2), zuschlag8 decimal(10,2), zuschlag7 decimal(10,2), zuschlag9 decimal(10,2), zuschlag10 decimal(10,2), zuschlag11 decimal(10,2), zuschlag12 decimal(10,2), zuschlag13 decimal(10,2), wiwa decimal(10,2), rechnnr varchar(10), positionssumme decimal(10,2), bild varchar(100), vkpreis decimal(10,2), rekladatum date, reklamenge integer, rechnnr2 varchar(10), produktionsnr integer, maschine varchar(20) collate de_de, id_artikel integer, planliefertermin date, produktion integer, lagerort varchar(10) collate de_de, lagerproduktion smallint, datum date, anwender varchar(10) collate de_de, statusdatum date, statusanwender varchar(10) collate de_de, prodstatus varchar(30) collate de_de, artnrsuffix smallint, individuallager integer, text varchar(100) collate de_de, druckdatei varchar(100) collate de_de, form varchar(50) collate de_de, auflage integer, produktionsbemerkung blob sub_type 0, originalbild varchar(100) collate de_de, eingangsdatum date, rohwarenr integer, rohwareausloesen smallint ); grant delete, insert, references, select, update on auftrag to sysdba with grant option; Ich versuche es mit anderem Browser. |
AW: Probleme beim Speichern in eine Tabelle
Komisch ist, dass ich auf diese Tabellen mit einem anderem von mir erstelltem Programm zugreife und da funktioniert es ohne Probleme. Kann sein, dass ich langsam den Wald vor lauter Bäume nicht sehe.
|
AW: Probleme beim Speichern in eine Tabelle
Hallo,
zip-Datei nehmen. |
AW: Probleme beim Speichern in eine Tabelle
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt gezipt.
|
AW: Probleme beim Speichern in eine Tabelle
Hallo,
http://docwiki.embarcadero.com/Libra...ase.TraceFlags Es gibt von Embarc. einen SQL-Monitor. Dann kannst Du Dir schon mal die SQL-Statements ansehen, die durchs Land huschen. |
AW: Probleme beim Speichern in eine Tabelle
Werden die beiden Tabellen im Formular einfach nur geöffnet, editiert, gespeichert, geschlossen, oder hat das Formular auch zusätzlich noch datensensitive Steuerelemente (TDBEDit & Co), in denen die Feldwerte zusätzlich angezeigt werden?
|
AW: Probleme beim Speichern in eine Tabelle
Zur Frickler,
diese Tabellen werden einfach nur geöffnet, editiert und geschlossen. |
AW: Probleme beim Speichern in eine Tabelle
Keine Ahnung, ob das relevant ist: In den SQL-Statements von IBDataSetPlanung wird der Tabellenname als PLANNUNG anstatt PLANUNG angegeben.
|
AW: Probleme beim Speichern in eine Tabelle
Du könntest nach dem Post auch mal den Wert von RowsAffected überprüfen.
|
AW: Probleme beim Speichern in eine Tabelle
Ist nicht relevant. Habe diese Tabelle vor ca. 4 Jahren angelegt und wohl mit nn. Als ich den Fehler gemerkt hatte, waren schon einige Datensätze drin. Hatte keine Zeit und Lust den Namen zu ändern. Beim Anwender fällt es nicht auf.
|
AW: Probleme beim Speichern in eine Tabelle
Zitat:
|
AW: Probleme beim Speichern in eine Tabelle
Zitat:
Code:
Wobei: wenns eigentlich "Plannung" heißt, hat die Anweisung ja schon einen Fehler...
select * FROM PLANUNG where bla = blubb and ID_AUFTRAG = ' + IntToStr(id_Planung)
Wie ist denn das Fehlermanagement in dieser Routine? Was steht im EXCEPT teil? |
AW: Probleme beim Speichern in eine Tabelle
Das stimmt. Wollte diesen Fehler hier nicht so raushängen. An welcher Stelle wird RowsAffected eingesetzt? Hatte es jetzt nach IBTransactionPlanung.Commit eingesetz und da bekomme ich ein 0.
|
AW: Probleme beim Speichern in eine Tabelle
Hallo Frickler,
im Original steht PLANNUNG. (Peinlich) |
AW: Probleme beim Speichern in eine Tabelle
Im dfm greift so ziemlich alles, was mit der Tabelle PLANUNG zu tuen haben soll auf die Tabelle PLANUNGSPEZIAL zu, auch die persistenten Felder.
Irgendwas passt da nicht: Open, Edit und Post gehen (laut SQL) auf die Tabelle PLANUNG, die Felder aber auf PLANUNGSPEZIAL. Verwunderlich, dass es da nicht dauernd kracht. Achne, es gibt ja auch noch das DataSet GridPlanung, das geht auf PLANUNGSPEZIAL. Irgendwie verstehe ich momentan nur noch Bahnhof. |
AW: Probleme beim Speichern in eine Tabelle
Zitat:
Zitat:
|
AW: Probleme beim Speichern in eine Tabelle
Habe RowsAffected jetzt auf die IBDataSetAuftrag eingesetzt(hier wurde der Eintrag auch korrekt eingetragen) und der Wert ist 1. Was auch so richtig ist. Hatte es jetzt nach IBTransactionPlanung.Commit eingesetzt. Also schaue ich mir noch einmal die select-Routine an.
|
AW: Probleme beim Speichern in eine Tabelle
In der Tabelle PLANUNGSPEZIAL werden Daten aus den Tabellen "PLANNUNG, AUFTRAG, ROHWARE" gesammelt und über ein IBDatasetGrid in einem Grid angezeigt. In PLANUNGSPEZIAL wird Nichts gespeichert.
|
AW: Probleme beim Speichern in eine Tabelle
Keine Ahnung Was nicht funktioniert. Select-String ist richtig. Kurz bevor ich poste gebe ich mir einen Wert aus dem Datensatz aus und der ist auch korrekt. Post macht er und hinterher bekomme ich RowsAffected = 0. Diese RowsAffected ist schon ein tolles Teil. Kannte ich nicht.
|
AW: Probleme beim Speichern in eine Tabelle
Wenn RoswAffected 0 liefert, dann wurde zu der WHERE Bedingung im ModifySQL kein Eintrag gefunden. Lass dir doch vor dem Post das Feld ID des Datensatzes anzeigen, denn die ist für das UPDATE relevant.
|
AW: Probleme beim Speichern in eine Tabelle
Zitat:
aber ja ... |
AW: Probleme beim Speichern in eine Tabelle
Danke erstmal für die Hilfe. Mache jetzt Feierabend und werde mich morgen wieder damit befassen. Muss unbedingt duschen.
Gruß, Luckner |
AW: Probleme beim Speichern in eine Tabelle
Zitat:
Die ganze Geschichte ist eh total fehlerträchtig. Warum nicht direkt (für Dialect 1) ein
Code:
und
UPDATE AUFTRAG
SET STATUS = :ST, STATUSDATUM = CURRENT_TIMESTAMP, STATUS_ANWENDER = :ANW WHERE ID = :ID
Code:
Das ganze in eine Procedure wrappen mit den zu updatenden Werten als Parameter und gut ist. Wenn beide Wertänderungen zusammengehören kann man die gleich in einer gemeinsamen Transaktion abfrühstücken.
UPDATE PLANNUNG
SET STATUS = :ST, STATUSDATUM = CURRENT_TIMESTAMP, STATUS_ANWENDER = :ANW WHERE ID_AUFTRAG = :IA Oder geht das nicht mit den verwendeten Komponenten? |
AW: Probleme beim Speichern in eine Tabelle
Du bist doch nicht mehr...........
Über eine Query zwei Statements absetzen und wissen was passiert(ren sollte) und sich damit 63 Threadeinträge sparen. Unverantwortlich! Gruß K-H |
AW: Probleme beim Speichern in eine Tabelle
Hallo,
gerade eben habe ich das Problem gelöst und es funktioniert. In der Tabelle Plannung:oops: existierte zwar das Feld "ID", aber alle Datensätze in diesem Feld war auf "nil". Diese Tabelle wird mehrmals am Tag aus mehreren anderen Tabellen erstellt und das Feld "ID" wird nicht gebraucht. Mit dem RoswAffected und dem Hinweis auf ModifySQL (danke Uwe Raabe) habe ich das Schlüsselfeld ID =: OLD_ID gegen ID-AUFTRAG =: OLD_ID_AUFTRAG geändert. und es funktioniert. Habe jetzt vorsorglich "ID" aus dieser Tabelle gelöscht. Vielen Dank, Luckner |
AW: Probleme beim Speichern in eine Tabelle
Zitat:
(übrigens gibt es für viele Datenbanken die Möglichkeit die ID (Schlüssel) automatisch erzeugen zu lassen. Und mit ID ist jeder Datensatz individuell definiert und Zugriffe sind u.U schneller (Index)) Gruß K-H |
AW: Probleme beim Speichern in eine Tabelle
Puh,
Thread ist erledigt... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz