对数据库访问是应用开发的常用功能,这些功能包连接数据库,查询数据,更新数据,删除数据,事务处理和运行任意 SQL 语句等。WebBuilder
提供 API 方法 Wb.sql
,用于执行任意的 SQL
语句,并获取其返回的结果。
在本篇我们重点介绍该方法的应用场景,关于该 API 方法的说明,请点击 Wb.sql 来查阅。
下面以 SQL Server 数据库为例,说明如何使用 Wb.sql 访问数据库过程,并获取过程内的所有数据。
在 SQL Server 数据库中,有以下的存储过程:
create procedure test_proc
(
@inParam int, -- 输入参数
@outParam int out -- 输入和输出参数
)
as
begin
set @outParam=@inParam+2 -- A 设置输出参数值
select * from wb_user -- B 返回结果集 1
delete from wb_key where 1=0 -- C 返回影响记录数
select * from wb_role -- D 返回结果集2
return 123 -- E 返回过程返回值
end
在上面的过程中共有 2 个输入参数(其中 1 个既为输入又为输出参数)和 5 个输出。5 个输出分别为:
如果我们要调用该过程,设置输入参数并获取 5 个输出,可以使用 Wb.sql
方法:
let result = Wb.sql({ sql: '{{*returnValue*}=call test_proc({?myInParam?}, {*outParam*})}', params: {myInParam: 3 }, db: 'wb-sqlserver' });
上面的代码中 SQL 语句为标准的调用存储过程的语句,其中{?name?}表示输入参数,{*name*}表示输出参数,详见API文档 Wb.sql 说明。
运行上面的代码后,我们得到了 result 这个值,该值以 JSON 结构描述了获得的结果,获得该值后我们可以作进一步的处理。其值类似于:
使用 WebBuilder 可以通过极简、易用和高性能的方法来对数据库进行访问。运行上面的代码后,我们也无需关注数据库资源和连接的释放问题,系统会帮我们自动处理。