Q&A

  • stored procedure에서 select하기
안녕하십니까?

ms-sql 7.0

delphi 5환경입니다.(odbc를 이용해서 했습니다)



먼저 ms-sql에는



CREATE PROCEDURE [sp_select_docuno]

AS

Declare @docuno char(14)



SELECT * FROM [imgboho].[dbo].[BOHOMST] WHERE docuno like @docuno



로 만들었으며

delphi쪽에는



Database1.open;

StoredProc1.Prepare;

StoredProc1.Params.ParamByName('@docuno').AsString := '01199800000001';

StoredProc1.Open;

StoredProc1.UnPrepare;

라고 했습니다.



그런데 에러가 @docuno파라미터가 없다고 나옵니다.(parameter '@docuno' not found)

어떻게 하면 되는지 부탁드립니다.



2  COMMENTS
  • Profile
    마으미 2001.06.08 02:48
    stored에서는 인자를 처음 넘기시는 거면 파라미터를 생성시키는 식으로 넘기셔야

    합니다.

    아래는 델파이의 HELP 내용중 예제입니다.

    아래의 내용대로 프로그램에서 Stored 사용시 두번째부턴 그냥 대입만 하면 되지만

    처음 사용하는 거면 아래처럼 생성을 시키셔야 합니다.



    try

    Params.ParamByName('CustNo').AsInteger := 999;

    except

    on EDatabaseError do

    with Params.CreateParam(ftInteger, 'CustNo', ptInput) do

    AsInteger := 999;

    end;



    위의 경우를 간략하게 한다면

    1.파라미터를 클리어 시키시고

    2.파라미터를 생성해서 하시면됩니다.



    즉,

    StoredProc1.Params.Clear;

    StoredProc1.CreateParam(ftInteger, 'CustNo', ptInput).AsInteger := 999;

    라고 하시면 됩니다.









    김성진 wrote:

    > 안녕하십니까?

    > ms-sql 7.0

    > delphi 5환경입니다.(odbc를 이용해서 했습니다)

    >

    > 먼저 ms-sql에는

    >

    > CREATE PROCEDURE [sp_select_docuno]

    > AS

    > Declare @docuno char(14)

    >

    > SELECT * FROM [imgboho].[dbo].[BOHOMST] WHERE docuno like @docuno

    >

    > 로 만들었으며

    > delphi쪽에는

    >

    > Database1.open;

    > StoredProc1.Prepare;

    > StoredProc1.Params.ParamByName('@docuno').AsString := '01199800000001';

    > StoredProc1.Open;

    > StoredProc1.UnPrepare;

    > 라고 했습니다.

    >

    > 그런데 에러가 @docuno파라미터가 없다고 나옵니다.(parameter '@docuno' not found)

    > 어떻게 하면 되는지 부탁드립니다.

    >

  • Profile
    똘망울 2001.06.07 19:04
    PROCEDURE Proc_Cp_Day_Plan_T( START_DATE IN DATE, END_DATE IN DATE)

    IS

    -- DECLARE 없어도 됨.

    sACT_CODE CP_MONTH_PLAN_T.ACTIVITY_ID%TYPE;



    오라클에선 프로시져 파라미터 넘길때.. START_DATE 같이..넘깁니다..

    MS는 잘모름...ㅠ.ㅠ

    이생활 5년이 되가는동안 MS SQL 써본일이 없으니..ㅠ.ㅠ

    공부하자...