![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TQuery;TDatasource
Zugriffsverletzung bei SQL Abfrage (mit Params) [gelöst]
Moin,
Ich erhalte immer eine Zugriffsverletzung bei einer SQL Abfrage mit Params! vieleicht könnt ihr mir weiterhelfen?
Delphi-Quellcode:
uses Inifiles;
Delphi-Quellcode:
Ini-File
procedure TForm1.Button3Click(Sender: TObject);
var ini: Tinifile; begin try Ini := TIniFile.Create(Datapfad+Listbox3.Items[ListBox3.ItemIndex]); Query1.Close; Query1.SQL.Clear; Query1.SQL.Text := ini.ReadString('SQL','SQLS',''); Query1.ParamCheck := True; Query1.ParamByName('SF1').AsString := S1SF1.Text; Query1.Open; finally Ini.Free; end; end;
SQL-Code:
(*) Nur Wegen den BBCODES
[*SQL*]
SQLS=SELECT * FROM infosS1 WHERE (Name = :SF1) Zugriffsverletzung
Code:
Habe mir schon andere Codes hier im Forum angeguckt aber ich finde kein Fehler :wall:
Zugriffsverletzung bei Adresse 004CE470 in Modul 'swinfo.exe'. Lesen von Adresse 00000000.
MFG Sven |
Re: Zugriffsverletzung bei SQL Abfrage (mit Params)
Hallo Sven,
einen Fehler an deinem SELECT-Statement kann ich auch nicht entdecken. Die genaue Code-Zeile, bei der die Zugriffsverletzung auftritt, hast du leider nicht angegeben. "Lesen von Adresse 0000" ist ein Zeichen dafür, dass ein Zeiger nicht initialisert war. Vielleicht trotzdem noch ein paar Hinweise:
Delphi-Quellcode:
Wichtig ist, dass wirklich die richtige INI-Datei geöffnet wird - nämlich die, welche du im Editor verändert hast.
const
SECTION_NAME = 'SQL'; KEY_NAME = 'SQLS'; PARAM_NAME = 'SF1'; procedure TForm1.Button3Click(Sender: TObject); var ini: TMemIniFile; fn: TFileName; stmt: String; begin with ListBox3 do fn := DatenPfad + Items[ItemIndex]; with TMemIniFile.Create(fn) do try stmt := ReadString(SECTION_NAME, KEY_NAME, ''); ShowMessage(stmt); // ist da wirklich ein Parameter SF1 drin? finally Free; end; with Query1 do begin // Close; // nicht nötig, weil SQL.Text neu gesetzt wird // SQL.Clear; // überflüssig weil SQL.Text als Ganzes verändert wird SQL.Text := stmt; // Query1.ParamCheck := True; // nur einmal im OI setzen ParamByName('SF1').AsString := S1SF1.Text; Open; end; end; Grüße vom marabu |
Re: Zugriffsverletzung bei SQL Abfrage (mit Params) [gelöst]
Danke @marabu
komischer weise nachdem ich gepostet habe und gucken wollte bei welchen Zeiger er die zugriffsverletzung anzeigt ging alles Ganz normal ohne zugriffsverletzung *komisch* Aber ich habe jetzt trozdem dein Code verwendet der sieht mir besser geschrieben aus :) MFG Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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