我用SQLStoredProc来调用存储过程式,
存储过程如下:
CREATE PROCEDURE abcd
@update_YN char(1) output
AS
begin tran insert into pcb_stock (cp_tno , cp_term , cp_row , cp_open_row , cp_total_page , cp_money , cp_zipcode , cp_address , cp_phone , cp_client_name , cp_accounts , cp_bank)
select cp_tno , left(convert(char(8),(cp_r_day - 30),112),6) ,cp_row , cp_open_row , cp_total_page , cp_money , cp_zipcode , cp_address , cp_phone , cp_client_name , cp_accounts , cp_bank
from print_basic
where cp_tno > (select max(cp_tno) from Pcb_Stock)
and cp_month_page = cp_total_page
and print_pause = 0commit tran
select @update_YN = '0'
GO而且我在SQLStoredProc的StoredProcName也已设为abcd
但是在程序中执行
Sp_Insert_stock.ExecProc ;
showmessage(Sp_Insert_stock.Params.ParamByName('@update_YN').value);
时就出错,请问和位这是为什么,一般执用存储过程你们是怎样写的呢?
存储过程如下:
CREATE PROCEDURE abcd
@update_YN char(1) output
AS
begin tran insert into pcb_stock (cp_tno , cp_term , cp_row , cp_open_row , cp_total_page , cp_money , cp_zipcode , cp_address , cp_phone , cp_client_name , cp_accounts , cp_bank)
select cp_tno , left(convert(char(8),(cp_r_day - 30),112),6) ,cp_row , cp_open_row , cp_total_page , cp_money , cp_zipcode , cp_address , cp_phone , cp_client_name , cp_accounts , cp_bank
from print_basic
where cp_tno > (select max(cp_tno) from Pcb_Stock)
and cp_month_page = cp_total_page
and print_pause = 0commit tran
select @update_YN = '0'
GO而且我在SQLStoredProc的StoredProcName也已设为abcd
但是在程序中执行
Sp_Insert_stock.ExecProc ;
showmessage(Sp_Insert_stock.Params.ParamByName('@update_YN').value);
时就出错,请问和位这是为什么,一般执用存储过程你们是怎样写的呢?
Sp_Insert_stock.StoredProcName := 'pro_insert_pcbstock' ; Sp_Insert_stock.Params.CreateParam(ftstring,'update_YN', ptoutput) ;
Sp_Insert_stock.ExecProc ;但是确提示"list index out bounds (0)"错误,请问大家这是为什么?
改为Sp_Insert_stock.open