Das Problem ist, dass ich das sehr allgemein programmiere, um es für jede Tabelle zu benutzen.
Die spezifischen Tabellen haben dann unterschiedliche Anzahl an Spalten, unterschiedliche Datentypen etc
Da ich die alle machen, kann ich nur sagen, dass die von mir als PK gekennzeichneten Spalten integer sind.
Über den Rest ist mir auf der Ebene nix bekannt, daher weise ich die Werte als Variant zu, also
var value : variant;
...
value := 1699;
...
params[i].value := value;
und:
Delphi-Quellcode:
q := tadodataset.create(nil);
try
q.connectionstring := ...
q.CommandType := cmdText;
q.commandtext := 'DECLARE @BLUB INT; SET @BLUB = :BLUB; SELECT @BLUB AS BLUB;';
q.Parameters.parambyname('BLUB').value := 1699;
q.Open;
showmessage(inttostr(q.fieldbyname('blub').asinteger));
finally
freeandnil(q);
end;
das geht komischerweise, ja bin ich denn blöd?