![]() |
Datenbank: Pradox 7 • Zugriff über: BDE
Problem mit SQL --> Fehlermeldung: Invalid parameter
Hallo !
Ich hab auch ein Problem mit SQL :( Also: Ich habe in der Schule Programmieren und lerne nun das 4. Jahr Delphi. Zur Matura ( = Abi) muss ich ein Projekt machen. Und zwar ist dass ein Datenbankprogramm das helfen soll elektronische Geräte zu katalogisieren und zu verwalten. (Delphi 7, BDE, Paradox 7) Nun möchte ich die Option anbieten, zBsp. einen neuen Beamer in die Datenbank hinzuzufügen. Hier einmal der Quelltext:
Delphi-Quellcode:
Wenn ich nun das Programm ausführe gibt es keine Probleme. Ich kann die Daten in die Edits eingeben. Aber wenn ich dann auf den Button drücke kommt die fehlermeldung :
procedure TForm1.Button3Click(Sender: TObject);
var inventarnummer, raumnummer : integer; name, raumbezeichnung : string; begin nummer:=strtoint(Edit1.Text); raumnummer:=strtoint(Edit2.Text); raumbezeichnung:=Edit3.Text; name:=Edit4.Text; Query1.Active:=false; Query1.SQL.Clear; Query1.SQl.Add('INSERT INTO Räume VALUES ('+inttostr(raumnummer)+','+(raumbezeichnung)+')'); Query1.ExecSQL; Query1.Active:=true; Query1.Active:=false; Query1.SQL.Clear; Query1.SQl.Add('INSERT INTO Inventarnummern (inventarnummer) VALUES ('+inttostr(inventarnummer)+')'); Query1.ExecSQL; Query1.Active:=true; ProjectProject1.exe raised exception class EDBEngineError with message 'Invalid parameter.'. Process stopped. Use Step or Run to continue. ein grüner Pfeil steht dann beim 2. Query1.Active:=false; Hab bereits einen klassenkollegen befragt, er hat ein ähnliches programm sieht aber den fehler nicht Ich hoffe ich habe nichts falsch gemacht und ihr könnt mir helfen ... liebe Grüße alex-91 |
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Eine Query die ein INSERT/UPDATE-Statement beinhaltet kannst du nicht mit .Active "aktiv" schalten. Diese werden per ExecSQL ausgeführt.
".Active" erwartet einen Ergebniscurser einer SELECT-Anweisung. |
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Zudem würde sich hier parametrisierte Abfragen anbieten
|
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Seit mir bitte nicht böse für die blöden Fragen aber :
wenn ich die [delphi]Query1.Active:=true;[/delphi weggebe] , kommt der Fehler noch immer :( und was ist gemeint mit parametisierter abfrage ? :?: lg |
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Akzeptiert den die BDE/Paradox Umlaute in Datenbankobjekten?
Heisst die Tabelle wirlich Räume? |
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Die tabelle hat wirkliche Räume.db geheißen.
Hab jtz das Ä durch ein A ersetzt und hab leider das Problem nachwievor :cry: |
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
In welcher Codezeile tritt den der Fehler auf?
|
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Hallo? Und was ist mit meinem Hinweis?
Nochmal etwas anders Beschrieben. Lösche Zeile
Delphi-Quellcode:
Und gut ist. Erklärung Post #2
Query1.Active:=true;
|
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Der Erste SQL-Block dürfet funktionieren. Es hat auch schon ein paar mal, wenn auch falsch, etwas in die Tabelle geschrieben. Das Problem tritt dann vermutlich beim 2.
Delphi-Quellcode:
auf ...
Query1.Active:=false;
|
Re: Problem mit SQL --> Fehlermeldung: Invalid parameter
Hallo,
der ursprüngliche Fehler liegt vermutlich daran, dass du eine Zahl in Hochkommata setzt. Das darf nicht sein! Auch steht in der ersten SQL-Anweisung eine Variable in Klammern, aber das dürfte unproblematisch sein. Genau deshalb gibt es die Empfehlung, mit Parametern zu arbeiten. Das ist zwar am Anfang eine Umstellung und sieht komplizierter aus; es vermeidet aber Unmengen von Problemen. Benutze einfach die Forumssuche z.B. nach "Abfragen mit Parametern" o.ä. Gruß Jürgen // Asche auf mein Haupt, die vielen Hochkommata haben mich offensichtlich verwirrt. Noch ein Argument mehr für Parameter :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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