Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi "Keine Übereinstimmung der Typen im Ausdruck" -Was heißt das (https://www.delphipraxis.net/39995-keine-uebereinstimmung-der-typen-im-ausdruck-heisst-das.html)

Plague 9. Feb 2005 23:15

Datenbank: Paradox • Version: 7 • Zugriff über: Query Komponente

"Keine Übereinstimmung der Typen im Ausdruck" -Was
 
Hallo,

wie schon im Titel steht, habe ich ein Problem mit der Fehleranzeige:
"Keine Übereinstimmung der Typen im Ausdruck"

Dieser entsteht wenn ich einen Eintrag in meine DB (Paradox 7) machen möchte.
Hierzu nutze ich folgenden Code:

Delphi-Quellcode:
Form1.Frame31.Query1.SQL.Clear;
 Form1.Frame31.Query1.SQL.Add('INSERT INTO Benutzer (Vorname, Name, Adresse, PLZ, Stadt, Mail, Web, Abteilung, Berechtigung, Laufwerk, Internet, Kommunikation, Protokoll, Adressbuch, Sperren, MsgLogin, Archiv, Text)');
 Form1.Frame31.Query1.SQL.Add('VALUES (:Vorname1, :Name1, :Adresse1, :PLZ1, :Stadt1, :Mail1, :Web1, :Abteilung1, :Berechtigung1, :Laufwerk1, :Internet1, :Kommunikation1, :Protokoll1, :Adressbuch1, :Sperren1, :MsgLogin1, :Archiv1, :Text1)');
 Form1.Frame31.Query1.Params.ParamValues['Vorname1'] := Vorname1;
 Form1.Frame31.Query1.Params.ParamValues['Name1'] := Name1;
 Form1.Frame31.Query1.Params.ParamValues['Adresse1'] := Adresse1;
 Form1.Frame31.Query1.Params.ParamValues['PLZ1'] := PLZ1;
 Form1.Frame31.Query1.Params.ParamValues['Stadt1'] := Stadt1;
 Form1.Frame31.Query1.Params.ParamValues['Mail1'] := Mail1;
 Form1.Frame31.Query1.Params.ParamValues['Web1'] := Web1;
 Form1.Frame31.Query1.Params.ParamValues['Abteilung1'] := Abteilung1;
 Form1.Frame31.Query1.Params.ParamValues['Berechtigung1'] := Berechtigung1;
 Form1.Frame31.Query1.Params.ParamValues['Laufwerk1'] := Laufwerk1;
 Form1.Frame31.Query1.Params.ParamValues['Internet1'] := Internet1;
 Form1.Frame31.Query1.Params.ParamValues['Kommunikation1'] := Kommunikation1;
 Form1.Frame31.Query1.Params.ParamValues['Protokoll1'] := Protokoll1;
 Form1.Frame31.Query1.Params.ParamValues['Adressbuch1'] := Adressbuch1;
 Form1.Frame31.Query1.Params.ParamValues['Sperren1'] := Sperren1;
 Form1.Frame31.Query1.Params.ParamValues['MsgLogin1'] := MsgLogin1;
 Form1.Frame31.Query1.Params.ParamValues['Archiv1'] := Archiv1;
 Form1.Frame31.Query1.Params.ParamValues['Text1'] := Text1;
 Form1.Frame31.Query1.ExecSQL;
Alle Variablen sind korrekt zugewiesen...

Was bedeutet diese Fehlermeldung?
Was kann ich dagegen machen?

Gruß
Thomas

mikhal 10. Feb 2005 06:28

Re: "Keine Übereinstimmung der Typen im Ausdruck"
 
Diese Meldung kommt dann, wenn der Datentyp des Felds nicht mit dem Typ des Übergabewerts übereinstimmt - also etwa: Feldtyp ist Integer und du übergibst einen String.

Du schreibst, daß die Werte korrekt zugewiesen werden: Haben sie denn tatsächlich auch die gleichen Datentypen, wie sie in den Tabellenfeldern vorgesehen werden?

Wie sieht denn das Select-Statement deiner Query aus? Baust du dort eine View über mehrere Tabellen auf? Dann kann Local SQL (Paradox) die Werte nicht sofort zuweisen und meldet dann ebenfalls etwas unsinniges wie deine Fehlermeldung.

Grüße
Mikhal

Plague 10. Feb 2005 07:04

Re: "Keine Übereinstimmung der Typen im Ausdruck"
 
Hallo,

ich habe das Problem nun gelöst. Es war ein dummer Fehler von mir... Ich wollte wie du es auch geschrieben hast Strings in Integer-Felder stecken...

Nun funktioniert es!

Danke
Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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 by Thomas Breitkreuz