错了。传入的是execute p_findstore @Input
传出的是你在p_findstore中定义的变量,就像@Input一样的用法。

解决方案 »

  1.   

    不是这个意思是不是ADOCommand.CommandType := StoreProcedure;
          ADOCommand.CommandText := 'p_findstore'??传入传出参数如何做呢?
      

  2.   

    close;
    commandtext:='execute p_findstore'+Str('@Input')
    Execute;
      

  3.   

    传出参数呢??SanKis 大哥帮帮忙吧..
      

  4.   

    如何取得返回的参数是指在Delphi当中把 @a  output  取到啊..
      

  5.   

    //获得员工编号procedure TfrmEmployee.sbtnCreateEmployeeNoClick(Sender: TObject);
    var sYear :string;
    begin
      inherited;
      if trim(dbedtWorkDate.Text) ='' then
      begin
        application.MessageBox('没有输入工作日期','提示',mb_ok) ;
        dbedtWorkDate.SetFocus ;
        exit;
      end;
      sYear := copy(trim(dbedtWorkDate.Text),1,4);
      if astpEmployeeNo.Active then astpEmployeeNo.close;
      astpEmployeeNo.Parameters.Clear ;  // 调用存储过程 BDE
      // astpEmployeeNo.StoredProcName := 'PROEMPLOYEENO';
      // astpEmployeeNo.Params.CreateParam(ftString, 'SYEAR', ptInput) ;
      // astpEmployeeNo.Params.CreateParam(ftString, 'RETURNEMPLOYEENO', ptOutput) ;  // 调用函数 BDE
      // astpEmployeeNo.StoredProcName := 'GETEMPLOYEENO';
      // astpEmployeeNo.Params.CreateParam(ftString, 'SYEAR', ptInput) ;
      // astpEmployeeNo.Params.CreateParam(ftString, 'RETURN_VALUE', ptResult) ;
      // astpEmployeeNo.ParamByName('SYEAR').Value :=sYear ;  // 调用存储过程 ADO
      // astpEmployeeNo.ProcedureName :='PROEMPLOYEENO';
      // astpEmployeeNo.Parameters.CreateParameter('SYEAR',ftString,pdInput,4,null) ;
      // astpEmployeeNo.Parameters.CreateParameter('RETURNEMPLOYEENO',ftString,pdOutput,8,null) ;  // 调用函数 ADO
      astpEmployeeNo.ProcedureName :='FUNEMPLOYEENO';
      astpEmployeeNo.Parameters.CreateParameter ('Param1',ftString,pdReturnValue,8,null) ;
      astpEmployeeNo.Parameters.CreateParameter('SYEAR',ftString,pdInput,4,null) ;
      astpEmployeeNo.Parameters.ParamByName('SYEAR').Value := sYear;
      try
        astpEmployeeNo.ExecProc ;
        dbedtEmployeeNo.Text :=     astpEmployeeNo.Parameters.ParamByName('Param1').Value;
        //dbedtNo.Text := astpEmployeeNo.Parameters.ParamByName('RETURNEMPLOYEENO').Value ; //过程调用
      except
        Application.MessageBox(pchar('产生函数有错,请重试'), '提示', MB_OK);
        exit;
       end;
    end;
    希望对你有帮助
      

  6.   

    //创建一个Sql命令对象,用来插入记录
    System.Data.OleDb.OleDbCommand mycmd = new System.Data.OleDb.OleDbCommand(updatesql,DB.OleConn());
    mycmd.CommandType = CommandType.StoredProcedure;
    mycmd.Parameters.Add("@image",System.Data.OleDb.OleDbType.VarBinary);
    mycmd.Parameters.Add("@bh",OleDbType.VarChar,20);
    mycmd.Parameters.Add("@bh2",System.Data.OleDb.OleDbType.VarChar,20);
    mycmd.Parameters.Add("@tbname",System.Data.OleDb.OleDbType.VarChar,50); mycmd.Parameters["@image"].Value = Content;
    mycmd.Parameters["@bh"].Value =bh;
    mycmd.Parameters["@bh2"].Value = bh2;
    mycmd.Parameters["@tbname"].Value = tbname;
      

  7.   

    cn=new SqlConnection (cnString);
             cn.Open();      
             cm=new  SqlCommand("sp_decrypt",cn);         cm.CommandType=CommandType.StoredProcedure;
             SqlParameter param;
             //add the input parameter  
             param = cm.Parameters.Add("@objectName", SqlDbType.NVarChar, 50);
             param.Value =listTable_SP.SelectedItem.Text;        
             // Add the output parameter.
             param = cm.Parameters.Add("@SqlText", SqlDbType.VarChar,4000);
             param.Direction = ParameterDirection.Output;         // Execute the command.
             cm.ExecuteNonQuery();
      

  8.   

    lionlsl(林) 
    强,delphi的调用例子都贴上!
    de
      

  9.   


    用SqlParameter 对象,就像上面写的。
      

  10.   

    为什么我用Parameter,搞不了呢。
      

  11.   

    cn=new SqlConnection (cnString);
             cn.Open();      
             cm=new  SqlCommand("sp_decrypt",cn);         cm.CommandType=CommandType.StoredProcedure;
             SqlParameter param;
             //add the input parameter  
             param = cm.Parameters.Add("@objectName", SqlDbType.NVarChar, 50);
             param.Value =listTable_SP.SelectedItem.Text;        
             // Add the output parameter.
             param = cm.Parameters.Add("@SqlText", SqlDbType.VarChar,4000);
             param.Direction = ParameterDirection.Output;         // Execute the command.
             cm.ExecuteNonQuery();
              补充 lyhold(让你飞) 的代码
              object a = cm.Parameters[1].Value;
              这样获取输出参数的值。