Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL - Parameter (https://www.delphipraxis.net/2986-sql-parameter.html)

MrSpock 17. Feb 2003 20:41

Hallo Hansa,

der Fehler liegt wahrscheinlich in der Zeile:

Delphi-Quellcode:
 StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
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.

Hansa 17. Feb 2003 20:50

in UpdateSQL ist das Feld ID nicht drin. Sonst schon. Hier kommt der Fehler :

SQL-Code:
StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
Liegt das vielleicht an dem AsInteger ?

MrSpock 18. Feb 2003 06:44

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.

Sharky 18. Feb 2003 08:00

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.

Hansa 18. Feb 2003 10:57

wenn ich folgendes versuche :

Delphi-Quellcode:
StatModul.StatDS.ParamByName ('KDNR').AsInteger := KuModul.KuDataSet.FieldByName ('ID').AsInteger;
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 ?

Gollum 18. Feb 2003 11:05

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.

MrSpock 18. Feb 2003 11:06

Hallo Hansa,

StatModul.StatDS soll NICHT active sein, KuModul.KuDataSet muss active sein.

Sharky 18. Feb 2003 11:21

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:

Hansa 18. Feb 2003 11:34

Wegen so einem Mist den halben Tag vergeudet :

so sah es aus (mit Fehler) :

Code:
KuModul.KuDataSet.SelectSQL.Text := 'SELECT ANREDE,NAME,STRASSE,ORT FROM KUNDE WHERE NR = ' + KuNr.Text;
so gehts jetzt (man beachte die ID :!: ):

Code:
KuModul.KuDataSet.SelectSQL.Text := 'SELECT [B]ID,[/B]ANREDE,NAME,STRASSE,ORT FROM KUNDE WHERE NR = ' + KuNr.Text;
da war ich wohl etwas zu sparsam. :mrgreen:

MrSpock 18. Feb 2003 12:27

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 17:32 Uhr.
Seite 2 von 3     12 3      

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