本帖最后由 google78 于 2019-7-9 09:57 编辑
新购了企业版,感觉存储过程这个功能确实强大,很多复杂的过滤功能都可以在SQL里直接建立存储过程来进行实现了,但是第一次试手就遇到了问题!
设计想法:一个身份信息录入模块,点击按钮执行存储过程,将页面上的身份证号、姓名等字段使用insert语句添加新纪录,执行后验证执行结果,成功则返回插入成功,插入失败则将错误代码直接返回录入界面 ,写了下面这个存储过程
USE [KuaibiaoEE]
GO
/****** Object: StoredProcedure [dbo].[shenfenxinxiadd] Script Date: 2019/7/8 15:42:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[shenfenxinxiadd]
-- Add the parameters for the stored procedure here
@id char(18),
@name nvarchar(10),
@chuangjianren nvarchar(10),
@beizhu nvarchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @fanhui nvarchar(200)
-- Insert statements for procedure here
begin try
insert into dbo.user_shenfenxinxi values(@id,@name,@chuangjianren,@beizhu)
if @@error=0
begin
set @fanhui='插入成功'
goto jieshu
end
end try
begin catch
set @fanhui=ERROR_MESSAGE()
end catch
jieshu:
select @fanhui as 返回结果
END
在sql下调试成功了
快表中的sql公式
exec shenfenxinxiadd 本报表.[F_9],本报表.[F_10],本报表.[F_11],本报表.[F_12]xFN|返回结果 as 本报表.[F_13]xFN
快表版本:企业版v6.9.301sql版本:2016企业版
快表中使用提取公式执行后也将数据插入数据库了,但是死活不返回执行结果,麻烦版主给看一下,是不是快表使用的存储过程需要什么特别注意的地方。
又用明细表测试了一下,明细表添加的行数是正确的,但是提取填充的数值全部是空。
|
|
google78