求delphi调用带有out参数的SQL SERVER存储过程的例子!(详细例子加分)

ALTERPROCEDURE[dbo].[LoginEnter]@userVARCHAR(10),@passwordVARCHAR(12),@msgVARCHAR(50)... ALTER PROCEDURE [dbo].[LoginEnter]
@user VARCHAR(10),
@password VARCHAR(12),
@msg VARCHAR(50) OUT
AS
BEGIN
IF EXISTS (SELECT * FROM rt.ZLYH WHERE @user=用户 and
@password=密码)
BEGIN
IF @@ROWCOUNT>0
SET @msg='show'
ELSE
SET @msg='SHIRT'
END
ELSE
SET @msg='用户名不存在'

IF @@ERROR<>0
BEGIN
SET @msg='登陆失败'
end
END
以上用delphi怎样调用这个存储过程?(目的是登陆成功就显示其他窗体,失败时显示@msg,求例子(+20)分!
展开
 我来答
stzxx
2012-04-30 · TA获得超过129个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:142万
展开全部
首先, sqlsever当中, @msg VARCHAR(50) OUT只是一个普通输入参数,而输出参数是output,所以应该是
ALTER PROCEDURE [dbo].[LoginEnter]
@user VARCHAR(10),
@password VARCHAR(12),
@msg VARCHAR(50) OUTPUT
============================================
以下是delphi实现过程
uses
DB, ADODB;
var
Qry:tadoquery;
begin
Qry:=Tadoquery.Create(nil);
Qry.ConnectionString:='Provider=SQLOLEDB.1;Password=12345;Persist Security Info=True;'
+'User ID=sa;Initial Catalog=testdatabase;Data Source=127.0.0.1' ;
Qry.SQL.Text:='Exec LoginEnter ''user'',''12345'' ';
Qry.ExecSQL;
if Qry.RecordCount>0 then
MessageBox(0,Pchar(Qry.Fields[0].AsString),PChar('提示'),Mb_OK+MB_ICONWARNING)
else
begin
ShowMessage('登录成功');
end;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式