var
  Form1: TForm1;
  params1:tparams ;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
   params1.Clear;
  ADOStoredProc1. close;
  ADOStoredProc1.ProcedureName:='delete_dian_1'  ; Params1.CreateParam(ftstring,'@dianhua',ptinput);
 params1.ParamByName('@dianhua').Asstring:='a' ;  ADOStoredProc1.Prepared;
 ADOStoredProc1.Open;
ADOStoredProc1.ExecProc  ;end;end.
这是报错的内容:project project1.exe raised exception class eaccessviolation with message 'access violation at address oo41d72b in module'project1.exe'.read of address 0000008',process stopped 各位帮忙看看那里错误,第一次用这个玩艺~~谢了

解决方案 »

  1.   

    ADOStoredProc1.Prepared; 
    ADOStoredProc1.ExecProc  ;//只是执行动作如select * into abd form,insert into ,update等没有返回数据集的操作

    ADOStoredProc1.Prepared;
    ADOStoredProc1.Open;//执行如select * from tablename具体取什么要看你的sp
      

  2.   

    params1:tparams //!!!!!!!!
    创建了吗?params1.Clear;//????
      

  3.   

    chenshaizi(陈绍彬) 
    我的存儲過程執行的是 刪除功能,你說的那個應該可以的!我的存儲過程在sql server測試的時候是成功的!會不會存儲過程出錯的原因?
    delphi_xizhousheng(西周生)
    你說的我照做了 不行的
     zhoutian618(秦失其鹿,天下共逐,唯胜者得鹿而割之)那個對象我創建了!你說的那個params1.clear不是清除原來的參數嗎?各位拜託了 看到後再給點注意吧!
      

  4.   

    Parameters = <
          item
            Name = '@RETURN_VALUE'
            DataType = ftInteger
            Direction = pdReturnValue
            Precision = 10
          end
          item
            Name = 'd'
            Value = Null
          end>  adostoredproc1.Parameters.AddParameter;
      adostoredproc1.Parameters.ParamValues['@dd']:=;;