Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Access: Datentypen in Kriterienausdruck unverträglich

  Alt 25. Aug 2008, 16:57
Hallo Flippo,

die Fehlermeldung bezieht sich nicht auf den Rumpf deiner Stored Procedure, denn die funktioniert ja unter bestimmten Bedingungen. Es geht mehr um die Parameter. Die von der Komponente müssen genau mit denen aus der SP-Deklaration übereinstimmen - Richtung und Typ, evtl. auch Größe.

Folgende Vorgehensweise ist ratsam:

(1) TDAOStoredProc über den Object Inspector konfigurieren.
(2) Insbesondere die Parameter korrekt typisieren.
(3) Prepared auf True setzen

Speziell das mehrfache Setzen von Prepared auf True ist unnötig. Es passiert nach dem ersten Mal auch nichts mehr, weil der VCL Code unsinnige Änderungen an Properties außer Acht lässt.

Hier noch ein paar Denkanstöße:

Delphi-Quellcode:
procedure TDataModel.GetMapping(const param1, param2: string; strings: TStrings);
var
  id: Integer;
begin
  with myStoredProc do
  begin
    Parameters.ParamValues['param1'] := param1;
    Parameters.ParamValues['param2'] := param2;
    Open;
    while not Eof do
    begin
      id := GetId(param1, 'STR', FieldByName('TheValue').AsInteger);
      strings.Values[FieldByName('TheName')] := IntToStr(id);
      Next;
    end;
    Close;
  end;
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat