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