AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen

Ein Thema von Aias · begonnen am 9. Nov 2012 · letzter Beitrag vom 9. Nov 2012
Antwort Antwort
Aias

Registriert seit: 9. Nov 2012
2 Beiträge
 
#1

Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen

  Alt 9. Nov 2012, 08:16
Datenbank: Access • Version: 2000 • Zugriff über: BDE
Hallo ...

ich lese mittels TQuery mehrere Access Datenbanktabellen aus, unter anderem folgende:

Delphi-Quellcode:
procedure TDBClient.SelectFeatsFromDB;
var
  query : TQuery;
  i : integer;
  feat : TFeat;
begin
  query := m_dbServer.SelectQuery('SELECT * FROM Feats');
  while not query.Eof do begin
    feat := TFeat.Create;
    feat.ID := query.Fields[0].AsInteger;
    feat.Name := query.Fields[1].AsString;
    feat.Description := query.Fields[2].AsString;
    feat.Passive := query.Fields[3].AsBoolean;
    FFeatList.AddFeat(feat);
    query.next;
  end;//while not eof
end;
das Problem ist folgendes. Hinter query.Fields[2] verbirgt sich ein Datenbankfeld vom Typ "Memo", was anscheinend zu Problemen führt, da ich bei dieser Zeile eine Zugriffsverletzung erhalte (Zugriffsverletzung bei 4DA0F40F und Zugriff auf 000002E0). Ändere ich das Datenbankfeld auf den Typ "Text" wie beispielsweise hinter query.Fields[1], dann klappts. Aber ich brauche mehr als 255 Zeichen und folglich auch den Typ Memo. Was habe ich verbrochen? Kann mir da jemand helfen?

Ich arbeite auf einem 64-bit Windows 7 System. Als Entwicklungsumgebung benutze ich zur Evaluation eine Testversion von Embarcadero Delphi XE3. Dieses kann in der Testversion nur Win32 Programme Compilieren. Sollte ja aber eigentlich auch kein Problem darstellen. Oder muss ich unter den Compiler-Optionen was ändern? Ich bin da nicht so sattelfest.

Hoffe, es weiss jemand Rat.

Besten Dank
Andreas

selbes Thema auch unter:
http://www.entwickler-ecke.de/topic_...en_110544.html
http://forum.delphi-treff.de/showthr...Query-zu-lesen

Geändert von Aias ( 9. Nov 2012 um 08:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen

  Alt 9. Nov 2012, 08:37
Wieso noch BDE? Für Access bietet sich ADO in Gestalt von ADOExpress/dbGo an.
Verursacht weniger Probleme als mit der Antiken-BDE darauf zuzugreifen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Aias

Registriert seit: 9. Nov 2012
2 Beiträge
 
#3

AW: Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen

  Alt 9. Nov 2012, 09:42
Es war ja auch noch alter Code ... danke, habs jetz auf ADO umgeschrieben und siehe da, das Problem mit dem Memo-Feld ist verschwunden.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Zugriffsverletzung bei Versuch Datenbank-Memofeld mit TQuery zu lesen

  Alt 9. Nov 2012, 09:43
Es war ja auch noch alter Code ... danke, habs jetz auf ADO umgeschrieben und siehe da, das Problem mit dem Memo-Feld ist verschwunden.
BDE ist nun mal ein veraltete Technik die mit jeder neuen Windows-Version/Update mehr Probleme verursacht da sie seit ca. 10 Jahren nicht mehr gepflegt ist (von Anpassungen das sie überhaupt noch in neuen IDE-Versionen läuft abgesehen).
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 10:12 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