Page 1 of 1
TMSStoredProc
Posted: Wed 20 May 2009 20:20
by quinze
Can someone please tell me how to pass input parameters to a stored procedure using TMSStoredProc?
If I use proc->ParamByName I'm told the parameter doesn't exist.
If I use proc->Params->CreateParam, as with BDE, I get OLE DB errors saying invalid param type.
Thanks in advance.
Posted: Thu 21 May 2009 09:35
by Dimon
To solve the problem you should call the TMSStoredProc.PrepareSQL method before setting parameter values.
Posted: Fri 22 May 2009 08:05
by quinze
Thank you.
ERROR using TMSSTOREDPROC
Posted: Thu 02 Dec 2010 04:26
by jerry_oei
Each time i execute storedproc i always got error message "Parameter not found kode_barang "...
can u help me???
this is my code below ..
======================
with dm.adoCmd do
begin
StoredProcName:='NEW_MASTER_BARANG;1(:KODE_BARANG, :NAMA_BARANG, :SATUAN, :KATEGORI, :BRAND, :TIPE, :MINIMUM_STOK, :PLOT)';
PrepareSQL;
with Params do
begin
ParamValues['KODE_BARANG']:=editKodeBarang.Text;
ParamValues['NAMA_BARANG']:=editNamaBarang.Text;
ParamValues['SATUAN']:=editsatuan.Text;
ParamValues['KATEGORI']:=editKategori.Text;
ParamValues['BRAND']:=editBrand.Text;
ParamValues['TIPE']:=editTipe.Text;
ParamValues['MINIMUM_STOK']:=strtoint(editMinimunStok.Text);
ParamValues['PLOT']:='1';
end;
Execute;
end;
Posted: Thu 02 Dec 2010 08:57
by bork
Hello
Please try the following code:
Code: Select all
begin
MSConnection1.Open;
try
MSConnection1.ExecSQL('DROP PROCEDURE NEW_MASTER_BARANG2', []);
except
end;
try
MSConnection1.ExecSQL('CREATE PROCEDURE NEW_MASTER_BARANG2 ' + #13 +
' @KODE_BARANG varchar , ' + #13 +
' @NAMA_BARANG varchar , ' + #13 +
' @SATUAN varchar , ' + #13 +
' @KATEGORI varchar , ' + #13 +
' @BRAND varchar , ' + #13 +
' @TIPE varchar , ' + #13 +
' @MINIMUM_STOK int , ' + #13 +
' @PLOT varchar ' + #13 +
'AS ' + #13 +
'BEGIN ' + #13 +
' SET NOCOUNT ON ' + #13 +
'END', []);
except
end;
with MSStoredProc1 do
begin
StoredProcName:='NEW_MASTER_BARANG2'; // StoredProcName:='NEW_MASTER_BARANG2;1'; also work correctly
PrepareSQL;
with Params do
begin
ParamValues['KODE_BARANG']:='1';
ParamValues['NAMA_BARANG']:='1';
ParamValues['SATUAN']:='1';
ParamValues['KATEGORI']:='1';
ParamValues['BRAND']:='1';
ParamValues['TIPE']:='1';
ParamValues['MINIMUM_STOK']:=strtoint('1');
ParamValues['PLOT']:='1';
end;
Execute;
end;
end;