AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable
Thema durchsuchen
Ansicht
Themen-Optionen

LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

Ein Thema von mfahs · begonnen am 4. Jul 2016 · letzter Beitrag vom 4. Jul 2016
Antwort Antwort
mfahs

Registriert seit: 18. Jul 2012
10 Beiträge
 
#1

LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 11:43
Datenbank: FireDAC • Version: 10.1 Berlin • Zugriff über: -
Hallo zusammen!

Vielleicht hat ja jemand eine gute Idee parat
Ich habe in der Vergangenheit schon oft nach einer Möglichkeit gesucht, eine MemTable per SQL-Befehl bearbeiten zu können. Normalerweise arbeite ich mit SDAC von DevArt, auch in der dort mitgelieferten Virtuellen Tabelle kann man keine SQL-Statements in einer Query nutzen.

Nun habe ich gerade (...und siehe, das Gute liegt so nah'...) mit Freunden festgestellt, dass die FireDac Memtable per LocalSQL tatsächlich ganz prima mit einer FDQuery bearbeitet werden kann. Ich habe diverse Tests gemacht und nun in einem aktiven Projekt alle "VirtualTables" von DevArt gegen die FDMemTable ausgetauscht. Eigentlich lief alles gut, bis ich per "DELETE FROM memTable WHERE..." einige Daten löschen wollte. Das ging mit der Exception "VTab: Angegebene Zeile ist nicht vorhanden" daneben. Ich habe nun stundenlang nach der Ursache gesucht, denn in meiner Testumgebung klappte es problemlos.

Ursache für den Fehler ist ein Memofeld! In meinem Projekt enthält die MemTable ein Memofeld - und damit geht der DELETE-Befehl schief. Wenn ich eine MemTable OHNE Memofeld verwende, klappt es.

Was zum Geier ist da in meinem Delphi 10.1 Berlin los? Ein Bug? Oder habe ich da etwas übersehen?
Hat jemand von euch eine Idee?

Schon mal herzlichen Dank vorab!

Gruß,
Martin
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 12:03
Das Virtual-Dataset von DevArt ist nun ein eigenständiges Produkt mit SQL-Unterstützung. Möglicherweise wird auch die in den anderen Produkten integrierte Version dieses Upgrade erhalten.
Markus Kinzler
  Mit Zitat antworten Zitat
mfahs

Registriert seit: 18. Jul 2012
10 Beiträge
 
#3

AW: LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 12:14
Das habe ich auch schon gesehen und auch kurz getestet. Aber das steckt noch zimelich in den Kinderschuhen - mehr als der rudimentärste Sprachschatz steht in den SQL-Abfragen noch nicht zur Verfügung. Eben noch Beta-Stadium...
  Mit Zitat antworten Zitat
mfahs

Registriert seit: 18. Jul 2012
10 Beiträge
 
#4

AW: LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 12:16
Ha! Ich hab's!
Mein Memofled (ftMemo) wurde in meinem Testfall in meinem Projekt niemals mit Daten gefüllt! Wenn ich die Datensätze so in die MemTable bringe, dass in dem Memo-Feld ein Leerstring ('') drinsteht, klappt es mit dem DELETE ganz wunderbar. Alternativ: Wenn ich ftBLOB verwende, klappt es auch ohne Vorbelegung des Feldes..
Da muss man erst mal drauf kommen

Grüße,
Martin
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 12:32
Hört sich aber doch trotzdem nach einem Fehler des LocalSQL-Teils von FireDAC an, oder?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: LocalSQL mit "DELETE" produziert einen Fehler mit FDMemTable

  Alt 4. Jul 2016, 13:03
Im Prinzip kannst du das LocalSQL auch mit anderen DataSets verwenden.
Mußt dann halt nur selber die Schnittstelle implementieren.

http://docwiki.embarcadero.com/RADSt..._%28FireDAC%29

Der Fehler könnte auch an anderen Stellen liegen, also im FireDAC, dem Adapter oder bei DevArt, wo diese Art der Steuerung nicht ganz richtig entgegen genommen wird.
$2B or not $2B
  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:37 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