![]() |
Hallo Hansa,
der Fehler liegt wahrscheinlich in der Zeile:
Delphi-Quellcode:
Wenn ID wirklich ein gültiges Feld von KuDataSet ist, könnte es sein, dass du einige Felder dieser Tabelle über den Feldeditor eingefügt hast, ID jedoch nicht !? Oder ID ist eben gar kein Feld dieser Datenmenge.
StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
|
in UpdateSQL ist das Feld ID nicht drin. Sonst schon. Hier kommt der Fehler :
SQL-Code:
Liegt das vielleicht an dem AsInteger ?
StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
|
Hallo Hansa,
nein, an dem AsInteger liegt es nicht. Die Fehlermeldung deutet wie gesagt darauf hin, dass das Feld ID nicht in KuDataSet gefunden wurde. Das ist -auch wenn ich mich da wiederhole- in der Regel dann der Fall, wenn ID wirklich nicht in dem DataSet KuDataSet enthalten ist oder wenn es zwar enthalten ist, aber -im Gegensatz zu anderen Feldern- nicht über den Feldeditor ins Programm eingefügt wurde. |
Hai Hansa,
ich habe beim MS-SQL die Erfahrung gemacht das es Probleme geben kann wenn ein Feld den Namen ID hat. Ich weiss nicht mehr genau was mein Problem damals war. Aber sobald ich das Feld umbenannt hatte lief alles ohne Probleme. ID ist IMHO ein Resserviertes Wort bei einigen Datenbank-Servern. |
wenn ich folgendes versuche :
Delphi-Quellcode:
D.h. ich will in diesem Fall die ID aus der Kundentable als Parameter übergeben. Müssen die Datenmengen dann active sein oder nicht :?: Oder nur eine oder keine ?
StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
|
Hallo,
wenn Du Daten aus Deiner Kundentabelle lesen willst, muss diese natürlich aktiv sein. Ist dem nicht so, kann auch der Parameter nicht zugewiesen werden. |
Hallo Hansa,
StatModul.StatDS soll NICHT active sein, KuModul.KuDataSet muss active sein. |
KuModul.KuDataSet muss natürlich aktiv sein! Sonnst gibt es ja keine Daten die Du holen kannst!
Eine geschlosene DatenMenge (aktiv = False) gibt dir immer NIX zurück. :lol: |
Wegen so einem Mist den halben Tag vergeudet :
so sah es aus (mit Fehler) :
Code:
so gehts jetzt (man beachte die ID :!: ):
KuModul.KuDataSet.SelectSQL.Text := 'SELECT ANREDE,NAME,STRASSE,ORT FROM KUNDE WHERE NR = ' + KuNr.Text;
Code:
da war ich wohl etwas zu sparsam. :mrgreen:
KuModul.KuDataSet.SelectSQL.Text := 'SELECT [B]ID,[/B]ANREDE,NAME,STRASSE,ORT FROM KUNDE WHERE NR = ' + KuNr.Text;
|
Hallo Hansa,
... und ich sach noch ... Bisse dir sicha, dat dat Feld auch wirklich da is... :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz