AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access: Datentypen in Kriterienausdruck unverträglich
Thema durchsuchen
Ansicht
Themen-Optionen

Access: Datentypen in Kriterienausdruck unverträglich

Ein Thema von Flippo · begonnen am 25. Aug 2008 · letzter Beitrag vom 3. Sep 2008
 
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#1

Access: Datentypen in Kriterienausdruck unverträglich

  Alt 25. Aug 2008, 15:03
Datenbank: Access • Zugriff über: ADO
Hallo,

ich habe folgendes Problem. Ich lese mit der Funktion blubb Daten ein. Das erste einlesen funktioniert auch tadellos. Wenn ich diese Daten dann aber lösche und gleich danach wieder einlese, dann bekomme ich die Fehlermeldung: "Datentypen in Kriterienausdruck unverträglich."
Wenn ich nach dem löschen das Programm neu starte, dann bekomme ich die Fehlermeldung nicht.

Die anderen Beiträge die sich mit dieser Fehlermeldung beschäftigen haben mir alle nicht weitergeholfen, bei den meisten lags am Format des Datums, aber ich hab nur string und integer werte.
Delphi-Quellcode:
function Blubb(var1, var2: String): TStringList;
var
  id: integer;

begin
  result := TStringList.Create;
  self.myStoredProc.Parameters.Items[0].Value := var1;
  self.myStoredProc.Parameters.Items[1].Value := var2;
  self.myStoredProc.Prepared := true;
  self.myStoredProc.Open; //Hier kommt der Fehler
  self.myStoredProc.First;
  while not self.myStoredProc.Eof do begin
    id := self.blubb2(var1, 'STR', self.myStoredProc.Fields[2].asInteger);
    result.Add(self.myStoredProc.fields[1].asString + '=' + intToStr(id));
    self.myStoredProc.Next;
  end;
  self.myStoredProc.Close;
end;
Das ist die aufgerufene myStoredProc in der Access Datenbank:

SELECT te.id, tp.start_byte, ta.val
FROM (tp INNER JOIN ta ON tp.id=ta.p_id) INNER JOIN te ON te.id=ta.e_id
WHERE (tp.start_byte between 23 AND 30)
AND ta.val <> 0
AND te.id in ( SELECT te.id FROM (((tp INNER JOIN ta ON tp.id = ta.p_id)
INNER JOIN te ON te.id = ta.e_id)
INNER JOIN te ON tp.e_id = te.id)
where te.vers = var1 AND te.kennung = 34 AND tp.start_byte = 13 AND ta.val = var2)
ORDER BY te.id, tp.start_byte;

te.vers ist String
ta.val ist integer


Ich hoffe ihr könnt mit dieser Beschreibung etwas anfangen. Ich kann mir diesen Fehler einfach nicht erklären.

Gibt es eine Möglichskeit self.myStoredProc wieder auf die Standartwerte, die es zum Programmstart hat zu setzen? Denn wenn ich das Programm neu starte geht es ja ohne Fehlermeldung.

Danke an alle die sich daran probieren

MfG

flippo
  Mit Zitat antworten Zitat
 


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 04:36 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 by Thomas Breitkreuz