关于VC MFC 用ODBC 执行sql server 2000存储过程 怎么返回 存储过程中定义的一个变量值 到 VC MFC中?
请问一下我在MFC中使用ODBC调用了sqlserver2000的一个存储过程如存储过程CREATEprocproc_xt_crkd@cs_crkflint,@cs_cr...
请问一下 我在MFC中 使用ODBC 调用了 sql server 2000 的一个存储过程
如 存储过程
CREATE proc proc_xt_crkd
@cs_crkfl int,
@cs_crkfs int,
@cs_kf int,
@cs_dydw int,
@cs_czy int,
--@out_cs_djh int output
as
declare @sum numeric(12) --用来获得当天出入库的数量
declare @djh_l varchar(12) --根据当天日期,用来保存用当天日期做单据号左边
declare @djh numeric(12) --用来插入记录时,正确格式的单据号 如 201406090001
set @djh_l=convert(varchar(12),getdate(),112) -- 获得当前日期20140609格式
set @djh= cast(@djh_l+'0000' as numeric(12)) -- 获得的当前日期 20140609格式后 加0000零 再转换成numeric(12)格式
begin
select @sum=count(*) from xt_crkd
where crkdj like (convert(varchar(12),getdate(),112)+'%') -- 统计xt_crkd 当天的 入出库单据有多少条
end
if(@sum=0)
begin
set @sum=@sum+1
set @djh=@djh+@sum -- 保证 第一次录入单据 单据号是从 如格式 201406090001 开始的
insert into xt_crkd(crkdj,crkfl,crkfs,kf,dydw,crksj,czy)
values(@djh,@cs_crkfl,@cs_crkfs,@cs_kf,@cs_dydw,default,@cs_czy)
-- set @out_cs_djh=@djh;
end
else
begin
set @djh=@djh+@sum+1 --保证 对xt_crkd表的 录入时, crkdj字段 的值 是根据 当前表中的单据数量 +1
insert into xt_crkd(crkdj,crkfl,crkfs,kf,dydw,crksj,czy)
values(@djh,@cs_crkfl,@cs_crkfs,@cs_kf,@cs_dydw,default,@cs_czy)
-- set @out_cs_djh=@djh
end
GO
在VC中 调用了 proc_xt_crkd 存储过程
CString Stored_Proc_Sql;
Stored_Proc_Sql.Format("proc_xt_crkd '%s','%s','%s','%s','%s'",rkdlr_crkfl,rkdlr_crkfs,rkdlr_kf,rkdlr_gyssx,CCrkd_rkdlr_czy);
cdb.ExecuteSQL(Stored_Proc_Sql);
我要怎么 在VC中 获得 存储过程中的@djh 变量呢? 展开
如 存储过程
CREATE proc proc_xt_crkd
@cs_crkfl int,
@cs_crkfs int,
@cs_kf int,
@cs_dydw int,
@cs_czy int,
--@out_cs_djh int output
as
declare @sum numeric(12) --用来获得当天出入库的数量
declare @djh_l varchar(12) --根据当天日期,用来保存用当天日期做单据号左边
declare @djh numeric(12) --用来插入记录时,正确格式的单据号 如 201406090001
set @djh_l=convert(varchar(12),getdate(),112) -- 获得当前日期20140609格式
set @djh= cast(@djh_l+'0000' as numeric(12)) -- 获得的当前日期 20140609格式后 加0000零 再转换成numeric(12)格式
begin
select @sum=count(*) from xt_crkd
where crkdj like (convert(varchar(12),getdate(),112)+'%') -- 统计xt_crkd 当天的 入出库单据有多少条
end
if(@sum=0)
begin
set @sum=@sum+1
set @djh=@djh+@sum -- 保证 第一次录入单据 单据号是从 如格式 201406090001 开始的
insert into xt_crkd(crkdj,crkfl,crkfs,kf,dydw,crksj,czy)
values(@djh,@cs_crkfl,@cs_crkfs,@cs_kf,@cs_dydw,default,@cs_czy)
-- set @out_cs_djh=@djh;
end
else
begin
set @djh=@djh+@sum+1 --保证 对xt_crkd表的 录入时, crkdj字段 的值 是根据 当前表中的单据数量 +1
insert into xt_crkd(crkdj,crkfl,crkfs,kf,dydw,crksj,czy)
values(@djh,@cs_crkfl,@cs_crkfs,@cs_kf,@cs_dydw,default,@cs_czy)
-- set @out_cs_djh=@djh
end
GO
在VC中 调用了 proc_xt_crkd 存储过程
CString Stored_Proc_Sql;
Stored_Proc_Sql.Format("proc_xt_crkd '%s','%s','%s','%s','%s'",rkdlr_crkfl,rkdlr_crkfs,rkdlr_kf,rkdlr_gyssx,CCrkd_rkdlr_czy);
cdb.ExecuteSQL(Stored_Proc_Sql);
我要怎么 在VC中 获得 存储过程中的@djh 变量呢? 展开
2个回答
2014-06-16
展开全部
你来错地了
追问
哎~~ ~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询