AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ID nicht gefunden nach last_insert_rowid()
Thema durchsuchen
Ansicht
Themen-Optionen

ID nicht gefunden nach last_insert_rowid()

Ein Thema von EdAdvokat · begonnen am 13. Mai 2017 · letzter Beitrag vom 16. Mai 2017
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#1

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 17:39
Zitat:
Na und? Die muss doch trotzdem den Alias als Spaltennamen zurückgeben.
Ich kenne SQLite nicht wirklich. Vieleicht erkennt er an den () eine Funktion die keinen Alias verträgt. Weil er will dann auf den Alias ID zugreifen, den es nicht gibt.
Oder es sind die Komponenten... Verstehe das wer will.

Nachtrag:
Zitat:
Ja, da der Quelltext aber erst seit ca. 'ner Stunde vorliegt, hat uns das gestern nicht so viel geholfen
...stimmt.

Geändert von haentschman (16. Mai 2017 um 17:42 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 17:42
Den Fehler gibt es unter Zeos nicht.
Daher meine Behauptung: DBExpress ist für diese Aufgabe wohl nicht erste Wahl.
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 18:00
Ich kann noch immer nicht erkennen, wo ich welche Klammer vergessen habe.
Das grundsätzliche Vorgehen, um mit SQLite eine DB-Anwendung zu schreiben habe ich mir von einem Youtube-Video von Andreas Hiller abgeschaut und da war immer die Rede von qMain.SQL.Clear;
qMain.Params.Clear; usw. Danke Haentschmann ich werde das ganze nochmals überarbeiten. Das connect an der bewußten Stelle hat mir so richtig auch nicht gefallen, doch es war eine Lösung für
die Darstellung nur des aktuell bearbeiteten Datensatzes ohne die anderen DS.
Nach Bearbeiten wurde nur der bearbeitete DS danach dargestellt und die vorheriigen nicht mehr. Das refresh half auch nicht.
Leider kann ich euren aha-Aufschrei nicht nachvollziehen. Was konkret habe ich falsch gemacht???
Ich habe nochmals nachgesehen und festgestellt, dass ich sowohl im Zeos-Komp. Programm als auch im dbExpress-Programm stets geschrieben habe: qMain.SQL.Text:='SELECT LAST_INSERT_ROWID() AS ID FROM KONTAKTE';
Norbert

Geändert von EdAdvokat (16. Mai 2017 um 18:04 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 18:13
Es geht nicht darum, ob Du was falsch gemacht hast oder nicht, sondern darum ob es mit DBExpress geht oder nicht.

Der Fehler, der von Deine Exe geworfen wird, ist logisch nicht nachvollziehbar.

Wenn man in 'nem SQL einen Alias für 'nen Spaltennamen angibt, also select Funktion() as Spalte from Tabelle schreibt, dann muss im Ergebnis die qMain.FieldByName('SPALTE').AsString funktionieren.

Wenn man in Deinem Programm also SELECT last_insert_rowid() AS ID eingibt, dann muss es im Ergebnis die Spalte ID geben, also qMain.FieldByName('ID').AsString verfügbar sein.

Dem ist aber nicht so. Das sieht für mich jetzt erstmal nach 'nem Fehler bei DBExpress aus, zumal das Ganze mit den Zeos-Komponenten ja funktioniert.

Und dass die SQLite-Datenbank bei identischen Statements aber unterschiedlichen Komponenten unterschiedliche Ergebnisse liefert, halte ich für eher unwahrscheinlich.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#5

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 18:23
Du hast nichts falsch gemacht. Das mit der Klammer war nur ein Hinweis.
  Mit Zitat antworten Zitat
EdAdvokat
Online

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 18:28
da fällt mir ein Stein vom Herzen. Ich dachte, ich liege wieder mal sowas von falsch. Wenn auch das Zeos-Prg. erforderlich sein sollte, bitte anmahnen. Es unterscheidet sich lediglich hinsichtlich des connect.
Alles andere ist identisch, natürlich ohne last_insert_rowId()... Es war wirklich nicht meine Absicht, Euch aufdringlich mit dem Problem zu belästigen, doch es scheint wohl was faul zu sein im Staate Delphi...
Norbert
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 16. Mai 2017, 18:32
Ist denn FireDAC bei der Professional nicht dabei? Falls doch, würde ich doch lieber das benutzen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 20:14 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