我没有用插入语句,我是用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), @Re_vch varchar(200) as set nocount on insert into oc_orderitm values(@ordeID_vch,@mateID_vch,@amount_num,@getAmnt_num,@sumItm_num,@Re_vch) set nocount off go
谢谢大家了。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 @sqlgo
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 @sqlgo ??????
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),
@Re_vch varchar(200)
as
set nocount on
insert into oc_orderitm values(@ordeID_vch,@mateID_vch,@amount_num,@getAmnt_num,@sumItm_num,@Re_vch)
set nocount off
go
strSql = ""
strSql = "execute ps_get_queryed_itm '" & mVleStr.DLStr(lvwQuery.SelectedItem) & "'"
If Rst.State = adStateOpen Then Rst.Close
Rst.Open strSql, gCnn, adOpenKeyset, adLockOptimistic, adCmdText
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 @sqlgo
@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 @sqlgo
??????