728x90
반응형
MS-SQL의 저장 프로시저 호출을 위하여 TADOStoredProc를 이용할 때는 파라미터의 순서를 반드시 일치 시켜야함을 주의해야만 합니다.
MS-SQL에 다음과 같은 저장 프로시저가 있다고 가정한다면,
test_proc @param1 INT, @param2 VAHRCHAR(20), @param3 DATETIME
TADOStoredProc를 이용할 때는 다음과 같이 동적으로 파라미터를 순서에 맞게 생성해 주거나, IDE의 Object Inspector에서 TADOStoredProc 컴포넌트의 Parameters 속성에 직접 파라미터들을 생성해 주어야 합니다.
procedure TForm1.Button1Click(Sender: TObject);
var
AADOStoredProc : TADOStoredProc;
begin
AADOStoredProc := TADOStoredProc.Create(nil);
with AADOStoredProc do
try
Connection := ADOConnection1;
ProcedureName := 'test_proc';
Parameters.CreateParameter('@param1', ftInteger, pdInput, 0, 1);
Parameters.CreateParameter('@param2', ftString, pdInput, 0, 'test');
Parameters.CreateParameter('@param3', ftDateTime, pdInput, 0, Now);
ExecProc;
finally
AADOStoredProc.Free;
end;
end;
위와 같이 파라미터 순서를 정확하게 일치시켜야 저장 프로시저가 올바로 실행됩니다.
아래 그림은 IDE의 Object Inspector에서 TADOStoredProc 컴포넌트의 Parameters 속성에 직접 파라미터들을 생성한 모습입니다.
MS-SQL에 다음과 같은 저장 프로시저가 있다고 가정한다면,
test_proc @param1 INT, @param2 VAHRCHAR(20), @param3 DATETIME
TADOStoredProc를 이용할 때는 다음과 같이 동적으로 파라미터를 순서에 맞게 생성해 주거나, IDE의 Object Inspector에서 TADOStoredProc 컴포넌트의 Parameters 속성에 직접 파라미터들을 생성해 주어야 합니다.
procedure TForm1.Button1Click(Sender: TObject);
var
AADOStoredProc : TADOStoredProc;
begin
AADOStoredProc := TADOStoredProc.Create(nil);
with AADOStoredProc do
try
Connection := ADOConnection1;
ProcedureName := 'test_proc';
Parameters.CreateParameter('@param1', ftInteger, pdInput, 0, 1);
Parameters.CreateParameter('@param2', ftString, pdInput, 0, 'test');
Parameters.CreateParameter('@param3', ftDateTime, pdInput, 0, Now);
ExecProc;
finally
AADOStoredProc.Free;
end;
end;
위와 같이 파라미터 순서를 정확하게 일치시켜야 저장 프로시저가 올바로 실행됩니다.
아래 그림은 IDE의 Object Inspector에서 TADOStoredProc 컴포넌트의 Parameters 속성에 직접 파라미터들을 생성한 모습입니다.
'프로그래밍 > 델파이' 카테고리의 다른 글
WebBrowser에서 ContextMenu, 특수키 막은 사이트 풀기. (0) | 2008.02.14 |
---|---|
EmbeddedWB에서 직접 HTML로 Navigate 하기. (0) | 2008.02.14 |
StrToDateTime, StrToDateTimeDef, TFormatSettings 관계 둘러보기 (0) | 2008.01.29 |
SQL의 DATETIME과 델파이 쿼리 결과와의 관계 정리 (0) | 2008.01.28 |
Intel Architecture Manual (0) | 2007.12.22 |