这是一个登录的程序过程,我要把输入的名字和密码通过存储过程在数据库端进行判断。
使用的控件是dbexpress组件中的TSQLConnection,TSQLStoredProc两个组件,前台程序如下:
var
p1,p2:TParam;
......
with LoginStoredProc do
begin
StoredProcName:='loginProc';
Params.Clear;
p1:=TParam.Create(Params,ptInput);
p2:=TParam.Create(Params,ptOutput);
try
Params[0].Name:='login_name';
Params[1].Name:='login_password';
//Params[2].Name:='mes';
ParamByName('login_name').AsString:=nameEdit.Text;
Prepared:=True;
ExecProc;
finally
p1.Free;
p2.Free;
end;后台数据库中建的存储过程是
CREATE PROCEDURE loginProc
@login_name varchar(20),
@login_password varchar(30) output
AS
SELECT * FROM Login_View
WHERE Login_Password=@login_password and Login_Name=@login_nameGO但是程序一运行就会出现List index out of bounds(0)这个错误,这个到底是什么原因呢?
使用的控件是dbexpress组件中的TSQLConnection,TSQLStoredProc两个组件,前台程序如下:
var
p1,p2:TParam;
......
with LoginStoredProc do
begin
StoredProcName:='loginProc';
Params.Clear;
p1:=TParam.Create(Params,ptInput);
p2:=TParam.Create(Params,ptOutput);
try
Params[0].Name:='login_name';
Params[1].Name:='login_password';
//Params[2].Name:='mes';
ParamByName('login_name').AsString:=nameEdit.Text;
Prepared:=True;
ExecProc;
finally
p1.Free;
p2.Free;
end;后台数据库中建的存储过程是
CREATE PROCEDURE loginProc
@login_name varchar(20),
@login_password varchar(30) output
AS
SELECT * FROM Login_View
WHERE Login_Password=@login_password and Login_Name=@login_nameGO但是程序一运行就会出现List index out of bounds(0)这个错误,这个到底是什么原因呢?
p1,p2:TParam;
......
with LoginStoredProc do
begin
StoredProcName:='loginProc';
Params.Clear;
p1:=TParam.Create(Params,ptInput);
p2:=TParam.Create(Params,ptOutput);
try
Params[0].Name:='login_name';
Params[1].Name:='login_password';
//Params[2].Name:='mes';
ParamByName('login_name').AsString:=nameEdit.Text;
ParamByName('login_password').AsString:=passwordEdit.Text;
Prepared:=True;
ExecProc;
finally
p1.Free;
p2.Free;
end;后台数据库中建的存储过程是
CREATE PROCEDURE loginProc
@login_name varchar(20),
@login_password varchar(30)
AS
SELECT * FROM Login_ViewWHERE Login_Password=@login_password and Login_Name=@login_nameGO但是程序一运行就会出现List index out of bounds(0)这个错误,这个到底是什么原因呢?