如何使用存储过程(SQL Server 2000)(200分)

  • 主题发起人 主题发起人 栋栋
  • 开始时间 开始时间

栋栋

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi如何使用SQL2000的存储过程


CREATE PROCEDURE USER_LOGIN
@XM nvarchar(50),
@MM nvarchar(50)
AS
IF EXISTS(SELECT * FROM DIRECT_USER WHERE XM = @XM AND MM = @MM)
RETURN 1
ELSE
RETURN 0
GO
如何使用呢?
 
程序中直接用ClientDataSet
ClientDataSet.Close;
ClientDataSet.CommandText:='exec User_Login,'''+xm+''','''+mm+'''';
ClientDataSet.Open;
这样就可以了,要不使用StoredProc1或ADOStoredProc1也可以的。
 
var
SQLStr: string;
begin
SQLStr := ' exec :ReturnValue = USER_LOGIN '
+ QuotedStr(UserName)
+ ', '+ QuotedStr(Password)
AdoQuery.Active := False;
AdoQuery.SQL.Clear();
AdoQuery.SQL.Add(SQLStr);
AdoQry.ExecSQL();
if AdoQuery.Parameters.Items[0].Value = 0 then
begin
MessageBox(Handle, '存储过程不存在!', '错误', MB_OK or MB_ICONERROR);
Exit;
end;
end;
 
var
StoredProc1:TStoredProc;
begin
StoredProc1:=TStoredProc.create(self)
storedproc1.DataSource:='你的数据源';
storedproc1.StoredProcName:='USER_LOGIN '
with storedproc1 do begin
Params[0].asstring:='第一个参数';
Params[1].asstring:='第二个参数';
prepare;
end;
try
storedproc1.execproc;
except
//异常处理
end;

end;
 
多人接受答案了。
 
后退
顶部