Italian community of Lazarus and Free Pascal
Programmazione => Componenti Aggiuntivi => Discussione aperta da: Lorenzo il Ottobre 26, 2026, 11:24:16 AM
Probabile Bug anche in Zeos 8.0
Questo componente sembra che non riesca a riconoscere i parametri(anche quelli inseriti manualmente attraverso il Component Inspector.
Se volete provare,vi allego il codice di esempio condensato in una procedura che inserisce in una stored.
Questa è la Stored Procedure per un database MySQL
Per rendere funzioanle l'esempio si crea una tabella con i campi sotto(nel mio caso una banale tabella dal nome Anagrafe e con i due campi,uno di stringhe e l'altro numerico)
CREATE PROCEDURE mydb.sample_InsertRecord(
IN Pnome VARCHAR(100)
,
IN Peta INTEGER
)
MODIFIES SQL DATA
SQL SECURITY INVOKER
BEGIN
INSERT INTO anagrafe(nome,eta) VALUES(Pnome,Peta);
END;
Qua sotto una procedura Pascal che dovrebbe richiamarla per inserire dati
procedure TForm1.InsertDataOnStored();
var
I: Integer;
SP: TZStoredProc;
begin
try
SP:= TZStoredProc.Create(nil);
SP.Connection:= ZConnection1;
try
with SP do begin
Params.Add;
with Params[0] do begin
ParamType:= ptInput;
Name:= 'Pnome';
DataType:= ftString;
end;
Params.Add;
with Params[1] do begin
ParamType:= ptInput;
Name:= 'Peta';
DataType:= ftInteger;
end;
StoredProcName:= 'sample_InsertRecord';
Params.ParamByName('Pnome').AsString:= 'Rocco';
Params.ParamByName('Peta').AsInteger:= 110;
ExecSQL;
end;
finally
ShowMessage('FATTO!');
end;
finally
FreeAndNil(SP);
end;
end;
Come errore darà il fatto di non riconoscere il primo parametro.
Se provate a visualizzare il numero di parametri,darà 0.
Io ho provato ad inserire i parametri via codice,ma anche attraverso l'Object Inspector,il risultato pare che non cambi.
Provatelo prima di rispondermi, al di fuori dell'esito non saprei dare risposte...resto in modalità "praticone".