Architect SQL zu Programm SQL

Advantage Database Architect

Moderator: Moderatoren

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Architect SQL zu Programm SQL

Beitrag von Manfred »

Ich haue jetzt erstmal was ganz pauschal hier raus. Mir ist jetzt mehrfach aufgefallen, das ein SQL Script im Architecten funktioniert, aber im Programm untergebracht ein NIL Ergebnis zurückliefert. Was ist das denn jetzt schon wieder?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von nightcrawler »

Muss ein Fehler auf Deiner Seite sein ... evtl auf eine andere Verbindung o.ä.?
Fragst Du die Rückgabewerte ab (LastError)?
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

nein, mache ich nicht. Aber danke für den Kopfschlag werde ich mal sofort einbauen. Ich bin immer davon ausgegangen, das es klappen muß :roll:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

ich habe an beiden letzten Zeilen eine Abfrage oADsServer:osession:getlasterror() gemacht
hm, es wird immer 0 zurückgeliefert.

Code: Alles auswählen

TEXT INTO cSqlStmt WRAP Chr(13) Trimmed
               SELECT rg.uid,
                      rg.datumvon,
                      rg.zeitvon,
                      rg.datumbis,
                      rg.zeitbis,
                      fz.kfznr,
                      fz.kennzeich,
                      infra.bez Infrastruktur,
                      ra.bez Reinigungsvorgang,
                      fa.nummer,
                      fa.vorname,
                      fa.name
               FROM reinigung rg
               left join fahrzeuge fz ON rg.idfahrzeug=fz.id
               left join infrastruktur infra ON rg.idinfra=infra.id
               left join reinigungsvorgaenge rvg ON rg.uid=rvg.reinigung
               left join reinigungsarten ra ON rvg.idart=ra.id
               left join fahrer fa ON rg.nummer = fa.nummer
               ORDER BY rg.datumvon DESC, fa.nummer
          ENDTEXT
          oSqlStmt := DC_AdsStatement():new(cSQLStmt,oAdsServer:oSession)
          cAlias   := oSqlStmt:execute()
dieses Script klappt im Architekten problemlos. Wenn ich , fa.nummer wegnehme läuft es auch im Programm. Egal, was ich als 2. Order angebe, es klappt nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Ich kenne die Klasse nicht. Ist die von Roger Donnay?
Vielleicht ist die Execute-Methode die Falsche.
Gibt es auch so etwas wie :Open() ?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

der Name ist doch egal. Dahiner steckt ein DbUseArea() Und danach ist Query nicht offen. Und einen Fehler gibt es auch nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

?
Ich kenne es so, das die Methode :Open zum öffnen von Datenmengen wie select benutzt wird und Exec zum ausführen von Befehlen wie Update.
Was ist mit meiner ersten Frage bzgl. Roger?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

Uli,

ja die DC_AdsStatement() ist von Roger.
Die ist vergleichbar mit der Methode von Friedhelms ADS Klasse oConnect:OpenSQL(cSQL)
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Bzw. :ExecSql( cSql ) :D
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

Genau
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Dann könnte es bei Manfreds Problem doch genau daran liegen, nämlich Aufruf der falschen Methode :) .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

dafür hätte ich jezt gerne mal eine genaue Erklärung....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Manfred hat geschrieben: Do, 05. Nov 2020 11:08 dafür hätte ich jezt gerne mal eine genaue Erklärung....
Ich habe es so gut wie möglich versucht, zu erklären. In der AceServer-Klasse von Friedhelm gibt es die beiden Methoden :OpenSql( cSql ) und :ExecSql( cSql ). Nur die Erste gibt einen Handle auf die geöffnete Tabelle zurück.
Ich habe mir gerade noch die ADS-API angeschaut. Da gibt es nur die Funktion AdsExecuteSql(), die in beiden Fällen aufgerufen wird. Diese gibt ein Handle auf die geöffnete Sql-Tabelle zurück bzw. der Handle ist = 0, wenn keine Tabelle geöffnet wurde.

Die Frage ist halt, wie Roger das gemacht hat.
Bertram: wenn ich Dich richtig verstanden habe, gibt es zwei entsprechende Methoden zu OpenSql/ExecSql bei Roger. Wie lauten diese?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

Roger endet im prinzip bei einem DbUSeArea(). Das öffnet aber nicht und gibt auch derzeit keine Fehlernummer zurück (prüfe ich aber noch). Es befindet sich in einem Begin Sequence und springt direkt nach dem Aufruf da raus, was nicht richtig ist an der Stelle und zu dem zeitpunkt. Wenn ich aber dann ein neterr() anfrage, kommt "0" zurück.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von nightcrawler »

Zumindest gibt es ja bei anderem SQL ein Handle zurück, von daher vermute ich nicht den Fehler in den Klassen.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

es gibt überall ein handle zurück und keine fehlermeldung. Nur DbUseArea() liefert kein query zurück.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

UliTs hat geschrieben: Do, 05. Nov 2020 11:27 Bertram: wenn ich Dich richtig verstanden habe, gibt es zwei entsprechende Methoden zu OpenSql/ExecSql bei Roger. Wie lauten diese?
Uli
Uli, das kann ich dir erst heute Abend mitteilen.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Bertram Hansen hat geschrieben: Do, 05. Nov 2020 12:31 Uli, das kann ich dir erst heute Abend mitteilen.
Und?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

Sorry Uli, mein Kurzzeitgedächtnis. #-o
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

Uli,

hier kommt mal ein wenig Quellcode:

Code: Alles auswählen

oSession := DacSession():New( cConnect )
oSessionRoger := DC_AdsSession( oSession )
oStmtRoger := DC_AdsStatement():New("SELECT * FROM tabellexyz", oSessionRoger )
cAlias := oStmtRoger:execute()
(cAlias)->(DBGOTOP())
... Mach irgendwas
(cAlias)->(DBCLOSEAREA())
oStmtRoger:close()
oSession:disconnect()
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Das sieht für mich recht gut aus!
Wenn ich es richtig sehe, ersetzt Roger dass DbUseArea(). D.h., du hast es etwas anders als von Manfred ursprünglich geplant umgesetzt. Funktioniert es?

Edit: überflüssiges Komma entfernt
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von Bertram Hansen »

Meines Wissens setzt Manfred das so oder so ähnlich ein. Roger "ersetzt" nicht nur das DbUseArea(), da passieren noch andere Sachen. Und es funktioniert auch.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

Roger ersetzt weder DbUSeArea() noch DbCloseArea(). Er ergänzt es durch eigenen Code.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Architect SQL zu Programm SQL

Beitrag von Manfred »

das hier zeigt die WB an, anstatt ein Query zurückzuliefern
oerror.PNG
oerror.PNG (13.17 KiB) 8195 mal betrachtet
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Architect SQL zu Programm SQL

Beitrag von UliTs »

Zeig doch bitte mal den Quellcode so ähnlich wie Bertram das gemacht hat.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Antworten