vfp 调用SQL 存储过程返回值?自创?
我在网上找了很多,关于VFP 调用SQL 存储过程的返回值,都没什么好的结果。有的说用OUTPUT参数。。以下是我自己做法,不知道OUTPUT的做法是怎么样的?
在SQL2000中建立存储过程
ALTER PROCEDURE [dbo].[get_insert] --或者 CREATE PROCEDURE
@u_name varchar(20)
AS
declare @awr nvarchar(10)
BEGIN
SET NOCOUNT ON;
if exists(select u_name from users where u_name=@u_name)
begin
SET @awr='Yes'
--存在,你要做的其他操作
end
else
begin
SET @awr='No'
--不存在,你要做的其他操作,比如可以插入这个名称的记录
end
select @awr AS 'Answer' --把作为查询返回
END
GO
**在VFP中调用方法
u_name='李四'
awr=SQLEXEC(nhandle,'exec get_insert @u_name=?u_name ','AAA')
IF awr>0
SELECT AAA
IF UPPER(Answer)=[YES]
MESSAGEBOX([记录操作成功])
ELSE
MESSAGEBOX([记录操作失败])
ENDIF
USE
ELSE
MESSAGEBOX([操作存储过程失败])
ENDIF
这样做的好处,我知道我执行SQLEXEC()后的操作,是不是成功插入,修改了记录。系统返回的-1,1等,只能知道执行这个命令没错误。
比如我
u_name='88888'
SQLEXEC(nhandle,'exec get_insert @u_name=?u_name ','AAA')
这个值是1,但表users有没 u_name='88888'这个记录,看这个1是看不出来,但现在用我这个存储方法。。
不知道用OUTPUT的方法是怎么样的?求解答