create procedure ps_get_queryed_itm
@id varchar(50)=''
as
declare @view as varchar(50)
declare @sql as nvarchar(4000)
select @view=tbl_name_vch from sy_tbl_set where sign_vch=left(@id,2)
set @view=N'vw_'+@view+'itm'
set @sql=N'select * from '+@view+' where rtrim(单号)=N'''+@id+''''
exec sp_executesql @sql
create procedure ps_get_queryed_itm
@id varchar(50)=''
as
declare @view as varchar(50)
declare @sql as nvarchar(4000)
select @view=tbl_name_vch from sy_tbl_set where sign_vch=left(@id,2)
set @view='vw_'+@view+'itm'
set @sql='select * from '+@view+' where 单号='''+@id+''''
exec sp_executesql @sql
我没有用插入语句,我是用recordset取得源表的结构,然后就把窗体上的值根据字段名,自动赋给recordset,再然后通过recordset的update更新数据库。主表中我是用上面的方法做的,明细表我就是直接插入语句。用下面的存储过程:
create procedure pi_oc_order
@ordeID_vch varchar(50),
@mateID_vch varchar(50),
@amount_num numeric(20,3),
@getAmnt_num numeric(20,3),
@sumItm_num numeric(20,3),
@Remark_vch varchar(200)
as
set nocount on
insert into oc_orderitm values(@ordeID_vch,@mateID_vch,@amount_num,@getAmnt_num,@sumItm_num,@Remark_vch)
set nocount off
go