AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADOQuery: Eigenschaft SQL fehlt
Thema durchsuchen
Ansicht
Themen-Optionen

ADOQuery: Eigenschaft SQL fehlt

Ein Thema von rai29 · begonnen am 24. Sep 2005 · letzter Beitrag vom 26. Sep 2005
Antwort Antwort
rai29

Registriert seit: 24. Sep 2005
12 Beiträge
 
#1

ADOQuery: Eigenschaft SQL fehlt

  Alt 24. Sep 2005, 23:20
Datenbank: Access • Zugriff über: ADOQuery
Hi ich habe ein Problem mit folgender Funktion, die plötzlich nicht mehr funktioniert - dabei habe ich an der Funktion selbst garnichts geändert
Hier erstmal der Quellcode
Delphi-Quellcode:
function Tdm.Query(SQL:widestring):integer;
var oldcmd:Tstrings;
    i:integer;
begin
  oldcmd:=tstringlist.Create;
  oldcmd:=qry.SQL;
  qry.SQL.Clear; // Qry ist mein ADOquery
  qry.SQL.add(sql); // Der Wert des Parameters SQL, der den Fehler verursacht, lautet:
                              // INSERT INTO Bonpositionen (Eingabe, BonText, VKPreis, OrigVKPreis, MwSt, ArtNr, BonID, Menge, Rabatt, RabattText) VALUES ('0101000001', 'DummyMarke Shirt 1/2 DUMMY Artikel', 10, 10, 1.38, '0101000001', 34, 1 , 0, '')
  try
    i:=qry.ExecSQL;
    Result:=i;
  except
    Result:=-1;
  end;
  if (qry.sql.IndexOf('UPDATE')>=0) or (qry.sql.IndexOf('INSERT')>=0) and (Result>0)
   then
    try
     SQLLog(sql,i);
    except;
    end;
  qry.SQL:=oldcmd;
  oldcmd.Destroy;
end;
Kann da der SQL-String zu lang sein? - Ich weiß echt nicht weiter..
also Danke für eure Hilfe..
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ADOQuery: Eigenschaft SQL fehlt

  Alt 25. Sep 2005, 12:42
Hi,

herzlich willkommen in der Delphi-PRAXiS.

An der Länge deines Statements liegt es wohl nicht. Du bekommst mitgeteilt, was an deinem SQL Statement falsch ist, wenn du die Exception nicht stumm schaltest:

Delphi-Quellcode:
begin
  ...
  try
    i := qry.ExecSQL;
    Result := i;
  except on E: Exception do
    begin
      Result := -1;
      ShowMessage(E.Message);
    end;
  end;
Grüße vom marabu
  Mit Zitat antworten Zitat
rai29

Registriert seit: 24. Sep 2005
12 Beiträge
 
#3

Re: ADOQuery: Eigenschaft SQL fehlt

  Alt 26. Sep 2005, 09:19
Ich bekomme die Fehlermeldung ja auch über den Debugger und diese lautet eben "qry: Eigenschaft SQL fehlt".

Ich habe das ADOQuery jetzt gegen ein ADOCommand ausgewechselt und es funktioniert..

Danke
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: ADOQuery: Eigenschaft SQL fehlt

  Alt 26. Sep 2005, 10:34
Zitat von rai29:
Delphi-Quellcode:
function Tdm.Query(SQL:widestring):integer;
var oldcmd:Tstrings;
    i:integer;
begin
  oldcmd:=tstringlist.Create;
  oldcmd:=qry.SQL;
Beim letzten Befehl ist Dir ein böser Schnitzer passiert!!!
Du kopierst nicht den Inhalt von qry.SQL, sondern einen Zeiger auf ein TStrings-Objekt.
Alles Weitere ist dann ein Folgefehler.
Richtig wäre:
Delphi-Quellcode:
  oldcmd.Assign(qry.SQL);
....
   qry.SQL.Assign(oldcmd); // und wieder zurück laden
Andreas
  Mit Zitat antworten Zitat
rai29

Registriert seit: 24. Sep 2005
12 Beiträge
 
#5

Re: ADOQuery: Eigenschaft SQL fehlt

  Alt 26. Sep 2005, 11:11
habe ich sofort korriegert

..man lernt doch immer noch was dazu

Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.
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