Thema: Delphi MS-SQL Abfrageproblem

Einzelnen Beitrag anzeigen

Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#1

MS-SQL Abfrageproblem

  Alt 16. Jan 2007, 23:34
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO
Moin,

folgendes Problem läßt mir nun noch mehr graue Haare wachsen:

Delphi-Quellcode:
  _query := TADOquery.Create(nil);
  with _query do begin
    try
      datasource := frmmain.DataSource1;
      with parameters.AddParameter do begin
 
        Name := 'xdauer';
        DataType := ftstring;
        Value := _dauer;

        Name := 'xtn';
        DataType := ftString;
        Value := _tn;
      end;
      connection := frmmain.ADOConnection1;

      sql.text := 'select count (*) as anzahl from tkanlage where (tn = :xtn) and (dauer = :xdauer)';
      open;
      _anz := FieldByName('Anzahl').AsInteger;
      close;
      showmessage(inttostr(_anz));
    finally
      //Free;
    end;
  end;
  freeandnil(_query);
Dem Datenbankinhalt nach MUSS _anz = 2 sein. (Ich habe die Quellen manuell doppelt hineinkopiert und auch validiert). Das Datenbankfeld tn ist Char(3) und dauer ist Char(acht). Wenn ich eine einzelne Abfrage auf tn mache, bekomme ich irgendwas um 420 angezeigt(passt auch), auf dauer bekomme ich 2 (auch ok). Mache ich aber die Kombi, gibts 0.

Kann mir mal jemand das Brett vom Kopf nehmen?

Achja, und um das ganze noch schwieriger zu machen, wenn das denn mal funktionieren sollte, muss noch auf datetime abgefragt werden, was im Moment auch allein gänzlich versagt:

Delphi-Quellcode:
Name := 'xdatum';
        DataType := ftdatetime;
        Value := stmp; // Bestehend aus Datum + ' ' + Uhrzeit (Format 22:11:00)
        // das Datenbankfeld dazu ist Datetime
Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat