![]() |
Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO
Zugriffsfehler ADOQuery
Hallo!
Also ich bekomme einen Fehler: Zitat:
Die sieht folgendermaßen aus:
Delphi-Quellcode:
Sobald das Query den SQL befehl zugewiesen bekommt schreibt er den Fehler.(Hab ich mit Haltepunkten festgestellt) woran könnte das liegen ich möchte keine eigene Query verwenden!
with ADOQuery_1 do
begin Close; SQL.Clear; SQL.Text := 'DELETE FROM Tabelle2'+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ExecSQL; SQL.Clear; SQL.Text := 'DELETE FROM Tabelle1 '+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ExecSQL; Close; end; |
AW: Zugriffsfehler ADOQuery
Da hast du wohl entweder deine Query nicht erzeugt oder woanders frei gegeben.
|
AW: Zugriffsfehler ADOQuery
-Existiert den die Instanz?
-Irgendwelche persistenten (Zugriffs-)felder? Btw. Die Clearanweisungen sind überflüssig. |
AW: Zugriffsfehler ADOQuery
Die Query ist erzeugt.. Wie meinst du das mit dem Freigeben?
Auch das clear löst den fehler nicht -.- |
AW: Zugriffsfehler ADOQuery
Delphi-Quellcode:
Was kommt hierbei? Übrigens solltest Du das Dingen besser parametrisieren.
Assert(Assigned(ADOQuery1));
ADOQuery_1.Close; ADOQuery_1.SQL.Text := 'DELETE FROM Tabelle2'+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ADOQuery_1.ExecSQL; ADOQuery_1.SQL.Text := 'DELETE FROM Tabelle1 '+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ADOQuery_1.ExecSQL; |
AW: Zugriffsfehler ADOQuery
Bei deinem Code kommt wieder einer Zugriffsverletzung -.-
|
AW: Zugriffsfehler ADOQuery
Und in welcher Zeile?
|
AW: Zugriffsfehler ADOQuery
wie wäre es hiermit:
Code:
Gruß
ADOQuery_1.Close;
ADOQuery_1.SQL.Text := 'DELETE FROM Tabelle2'+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ADOQuery_1.ExecSQL; ADOQuery_1.Close; ADOQuery_1.SQL.Text := 'DELETE FROM Tabelle1 '+ 'WHERE Spalte1 LIKE '''+ NummerString2+''''; ADOQuery_1.ExecSQL; ADOQuery_1.Close; K-H |
AW: Zugriffsfehler ADOQuery
Spinne ich, oder ist nach ExecSQL die Datenmenge sowieso geschlossen? Ich hege wie meine Vorredner ja auch eher den Verdacht, dass die Query gar nicht mehr (oder noch nicht) existiert, aber nicht nil ist.
|
AW: Zugriffsfehler ADOQuery
Wenn das so ausgeführt wird, dann sollte zunächst mal ein Fehler vom SQL Server zurückkommen, denn hinter Tabelle2 fehlt ein Leerzeichen ;)
|
AW: Zugriffsfehler ADOQuery
:lol: Jo stimmt, jeder hat "geguttenbergt", und niemand hat das gesehen^^.
|
AW: Zugriffsfehler ADOQuery
Auch der Code vom p80286 gibt mir einen Zugriffsfehler -.- also ich steh an. Ich greife in meinem Programmcode zweimal auf die Query zu aber bei dem beispiel hier mit NummerString2 funktionierts nicht -.-
|
AW: Zugriffsfehler ADOQuery
Nochmal: in welcher Zeile kommt der Fehler?
|
AW: Zugriffsfehler ADOQuery
Moin...
du wurdest schon mehrfach gefragt wo die Instanz der Query erzeugt wird. Zitat:
|
AW: Zugriffsfehler ADOQuery
Zitat:
|
AW: Zugriffsfehler ADOQuery
Zitat:
|
AW: Zugriffsfehler ADOQuery
Okay, bevor ich jetzt dumm und deppat alles probier hab ich einfach eine eigene Query erstellt.. aber die funktioniert auch nicht.. wo liegt blos der fehler???
[Edit]: Verdammter Scheiss es liegt am NummerString2 wenn ich den als ShowMessage ausgeben möchte dann kommt schon der fehler. Aber an was kann kann das liegen ich hol mir die NummerString2 von der DBGrid per SelectedFiel.AsString... |
AW: Zugriffsfehler ADOQuery
Ein Assigned(DBGrid.SelectedFiel) := True funktioniert nicht da er den fehler Der linken Seite kann nichts zugewiesen werden bringt -.-
|
AW: Zugriffsfehler ADOQuery
Ich kann Dir nicht folgen. Wieso greifst Du eigentlich auf das DBGrid zu statt auf die angeschlossene Datenmenge?
|
AW: Zugriffsfehler ADOQuery
Ja weil ich über das DBGrid die Auswähl tätigen möchte spriche meine Nummer zu bekommen aber nicht weiss wie ich das mit der DataSource mache -.-
|
AW: Zugriffsfehler ADOQuery
Zitat:
Gruß K-H |
AW: Zugriffsfehler ADOQuery
muss ich meine DBGrid initializieren damit ein selectedfield.asString funktioniert?
wie geht das? |
AW: Zugriffsfehler ADOQuery
Du willst auf ein bestimmtes Feld im aktuellen Datensatz zugreifen, stimmt das soweit?
|
AW: Zugriffsfehler ADOQuery
Nochmal... arbeite direkt mit dem Dataset (Table/Query) und nicht über 3 Ecken über das Grid. Das ist nur zur Darstellung da.
Beispiel für direkten Zugriff:
Delphi-Quellcode:
Label1.Caption:= Query1.FieldByName('VORNAME').asString
|
AW: Zugriffsfehler ADOQuery
@DeddyH: Ja so ist es.. Da ich in der DBGrid einige Zeilen habe möchte ich per Mausauswahl das jeweilige Feld löschen.
@haentschman: Deine Idee ist gut, jedoch hab ich die auch schon probiert und da bekomme ich auch einen Zugriffsfehler. Ich hab auch nicht meine Query geschlossen nachdem ich Abgefragt habe. Wie das mit der Datasource gehen soll is mir bissal unklar.. ich hab da einiges probiert aber nur fehler bekommen scheint das ich das falsche benütze :( |
AW: Zugriffsfehler ADOQuery
Zitat:
|
AW: Zugriffsfehler ADOQuery
Wenn das Dataset nicht mehr da oder geschlossen ist, sollte aber auch das Grid nix mehr anzeigen. Gehen wir mal den umständlichen Weg:
Delphi-Quellcode:
Nummer2 := DBGrid.Datasource.Dataset.FieldByName('WasWeißIchWieDasFeldHeißt').AsInteger;
|
AW: Zugriffsfehler ADOQuery
Hmmm ... jetzt haben ihn irgendwie schon 3 Leute - alle die ihm hier antworten - aufgefordert, mal den gesamten zusammenhängenden Code zu zeigen und er reagiert noch nicht einmal darauf.
Ich habe jeden falls nirgends etwas wie "nee, geht nicht, weil..." von ihm gefunden. Also entweder ist das hier das lang gesuchte WeltBeherrschungsUniversalTool - würde ich ja auch nicht posten, erst mal will ich die Welt beherrschen, dann käme der Daniel an die Reihe, und dann ... mal schauen - oder der TE hat einfach Langeweile (oder er hat was an den Augen= :gruebel: ) |
AW: Zugriffsfehler ADOQuery
Ja, ich weiss, ich hätte den code auch gepostet wenn der nicht über 1000 zeilen gehen würde!
Ich hab auch alles probiert was ihr mir geraten habt aber ohne erfolg. Ich habe jetzt den Fehler eingegrenzt:
Delphi-Quellcode:
Hier kommt die Zugriffsverletzung -.-
ShowMessage(Main.DBGrid2.SelectedField.AsString);
Auf die Antwort die ich mitgeteiltbekommen: Es ist nicht initialisiert? Meine Frage: was und wie? |
AW: Zugriffsfehler ADOQuery
![]() Zitat:
|
AW: Zugriffsfehler ADOQuery
Zitat:
Wenn da mal was war, dann ist es jetzt weg. (und meine Kristallkugel ist auch nicht da) Gruß K-H P.S. 1000 Zeilen Daten und Oberfläche fröhlich gemischt? wofür dann oop ??? |
AW: Zugriffsfehler ADOQuery
Zitat:
|
AW: Zugriffsfehler ADOQuery
[OT]
Zitat:
|
AW: Zugriffsfehler ADOQuery
Genau... ich hab alles in drei Buttons drinnen -.-
|
AW: Zugriffsfehler ADOQuery
Ich glaube ich weiß jetzt was der Fehler ist ... wie geil ...
Ich wette, dass ADOQuery2 dazu benutzt wird, um das DBGrid mit Daten zu befüllen ... ja und wenn man dann mit ADOQuery2 - aus reiner Sparsamkeit, soll ja nichts verkommen - ein Statement ausführt, dann darf man sich auch nicht wundern, wenn dann da was in die Hose geht. |
AW: Zugriffsfehler ADOQuery
Wie gern würd ich dir recht geben. Aber ich hab weiter oben geschrieben das ich eine eigene Query erstellt habe und nochmal geschrieben das ich wenn ich auf den datensatz über die query zugreife ich auch eine zugriffsverletzung bekomme
|
AW: Zugriffsfehler ADOQuery
Kannst du mal nur die dfm-Datei hier posten ... dann sehen wir auch schon mehr
Allerdings sind auch 1000 Zeilen (gepackt als ZIP) kein Problem |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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