는 이제 당신이 사용자 유형 및 SQL 쿼리QueryString을의에 Params과 데이터 유형을 가져
SELECT * FROM X WHERE X.A = :A and X.B = :B and X.C= :C
이의 종류를 얻을 수있는 방법이 있나요 인은 TEdit이있는 델파이 인터페이스를 가지고 있다고 가정 해 봅시다 :, : B, : C Params? 나는 그럭저럭 Params의 이름을 얻을 수 있었다.
procedure TfrmA.Button1Click(Sender: TObject);
var
queryInput, queryOutput , aux : string;
pozitie : Integer;
param : string;
Ch,Chx : Char;
begin
queryInput := TEdit.Text;
queryOutput := StringReplace(queryInput,':','@',[rfReplaceAll, rfIgnoreCase]);
aux := Copy(queryOutput,AnsiPos('@',queryOutput),200);
while Length(aux) > 0 do begin
if AnsiPos('@',aux) = 0 then break;
for Ch in aux do
begin
if Ch = ' ' then begin
param := param + ' ';
break
end else param := param + Ch;
end;
ShowMessage(param);
test := Copy(test,2,200);
test := Copy(test,AnsiPos('@',test),200);
end;
end;
파람 문자열은 지금이 (가) 포함됩니다이 코드를 사용 : @A @B @C
내가 PARAMS의 데이터 유형을 찾을 수 있습니다 어쨌든 있나요?
당신이'sp_describe_undeclared_parameters 필요이 경우, 최근 비슷한 질문을 데이터 유형 – Passella
를 알 수 있도록 필드와 테이블을 통보해야합니다 '함수를 사용하여 데이터 유형을 검색합니다. – whosrdaddy
D2009 이상을 사용하는 경우, AnsiPos를 제거하고 대신'Pos' 함수를 사용해야합니다. – whosrdaddy