Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#1

Fehler bei ADO-Parameter Typ ftLargeint

  Alt 14. Dez 2004, 12:34
Hallo Gemeinde.

Untersatz: MSSQL, ADO, D7, TADO, TBetterADO

Ich versuche ein bigint-Feld (64bit) zu füllen:
SQL-Code:
CREATE PROCEDURE SP_DUMMY(@PARA bigint)
AS
BEGIN
  INSERT INTO TABELLE
            ( BigIntFeld)
       VALUES
            (@PARA)
END
in Delphi:
Delphi-Quellcode:
var
  AP : TADOStoredProc;
  WERT : int64;
begin
  // AP.Create, Connection setzen BlaBla
  // dann:
  WERT := IrgendEin64BitInteger;
  AP.ProcedureName := 'SP_DUMMY';
  AP.Parameters.Clear;
  // und hier knallt es:
  AP.Parameters.CreateParameter('PARA',ftLargeint,pdInput, 0,WERT);
...

// und zwar in Unit ADODB:
function TParameters.CreateParameter(const Name: WideString;
  DataType: TDataType; Direction: TParameterDirection; Size: Integer;
  Value: OleVariant): TParameter;
begin
  Result := AddParameter;
  Result.FParameter := Create_Parameter(Name, DataType, Direction, Size);
  { Don't try to assign value when it is an EmptyParam (used when optional) }
  if not ((TVarData(Value).VType = varError) and
    (TVarData(EmptyParam).VError = $80020004)) then
    Result.FParameter.Value := Value; // <--- genau da macht es Peng ?!
end;
stehe echt auf dem Schlauch - irgendwie haut es die ganze Schose immer wieder aus der Kurve mit ftLargeInt - habe auch TBetterADODataSet versucht - Problem bleibt.

Ehm - Hilfe?
Gruß
[Edit]ScreenShot angehangen[/Edit]
Miniaturansicht angehängter Grafiken
biginterror.jpg  
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat