ALTER proc sp_Login
@name varchar(100)
as
select * from login where name=@name以上是我的在MS SQL SERVER2000里的存储过程,在查询分析器里测试过是可以的
DataModule2.adoPro1.Close;
DataModule2.adoPro1.ProcedureName:='sp_Login';
DataModule2.adoPro1.Parameters.ParamByName('@name').Value:='888';
DataModule2.adoPro1.Prepared:=true;DataModule2.adoPro1.Open;
我用ADOStoredProc1 调用,就是上面的代码,结果老说我@name 找不到
我晕了,也找了资料,不知道错误在哪里,大家指导小弟下,谢谢
@name varchar(100)
as
select * from login where name=@name以上是我的在MS SQL SERVER2000里的存储过程,在查询分析器里测试过是可以的
DataModule2.adoPro1.Close;
DataModule2.adoPro1.ProcedureName:='sp_Login';
DataModule2.adoPro1.Parameters.ParamByName('@name').Value:='888';
DataModule2.adoPro1.Prepared:=true;DataModule2.adoPro1.Open;
我用ADOStoredProc1 调用,就是上面的代码,结果老说我@name 找不到
我晕了,也找了资料,不知道错误在哪里,大家指导小弟下,谢谢
如果我用静态的设置@name 为string类型,直为888 是可以的,那说明存储过程是通的
郁闷死了,大家帮帮忙
//下面使用简单存储过程测试
with DataModule2.adoPro1 do
begin
Close;
Parameters.Clear;
Parameters.Refresh;
Parameters.ParamByName('@name').Value:=edit1.Text;
Prepared:=true;
open;
我加了句 Parameters.Refresh; 可以运行了,可以又出现个问题,就是我按第2下的时候就会出错,按第一下是正确执行,不知道大家有没有碰到过,谢谢!
self.ADODataSet1.Open