자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi FDCommand 의 Params를 이용 하여 저장.
2020.03.09 21:42
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
* Delphi 10.2.3
* MySQL
FDCommand 의 Params를 이용 하여 자료를 저장 하면 입력된 자료 전체가 저장되지 않고 일부만 저장 됩니다.
CommandText.Add('insert into Custom (CTel, CName)');
CommandText.Add('Values (:CTel, :CName)');
Params[0].AsString := '010-1234-1234';
Params[1].AsString := '가나다라_마바사';
위와 같이 입력 하면 "가나다라_마" 이렇게 입력 됩니다.
그런데 텍스트 형식으로 입력 하면 정상으로 입력이 됩니다.
Text_Data := QuotedStr('010-1234-1234') + ',' + QuotedStr('가나다라_마바사');
CommandText.Add('insert into Custom (CTel, CName)');
CommandText.Add('Values (' + Text_Data + ')');
위와 같이 입력 하면 잘되네요..
기본 설정값은 변경 하지 않고 DataModule에 올려 놓고 사용 했습니다.
FDCommand는 일반 FDQuery 처럼 Params를 사용 하면 안됩니까?
에휴 FireDAC 사용이 어렵네요..
Delphi FDCommand 의 Params를 이용 하여 저장.
2020.03.09 21:42
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
* Delphi 10.2.3
* MySQL
FDCommand 의 Params를 이용 하여 자료를 저장 하면 입력된 자료 전체가 저장되지 않고 일부만 저장 됩니다.
CommandText.Add('insert into Custom (CTel, CName)');
CommandText.Add('Values (:CTel, :CName)');
Params[0].AsString := '010-1234-1234';
Params[1].AsString := '가나다라_마바사';
위와 같이 입력 하면 "가나다라_마" 이렇게 입력 됩니다.
그런데 텍스트 형식으로 입력 하면 정상으로 입력이 됩니다.
Text_Data := QuotedStr('010-1234-1234') + ',' + QuotedStr('가나다라_마바사');
CommandText.Add('insert into Custom (CTel, CName)');
CommandText.Add('Values (' + Text_Data + ')');
위와 같이 입력 하면 잘되네요..
기본 설정값은 변경 하지 않고 DataModule에 올려 놓고 사용 했습니다.
FDCommand는 일반 FDQuery 처럼 Params를 사용 하면 안됩니까?
에휴 FireDAC 사용이 어렵네요..
인터베이스 db의 테이블에 문자 타입인 params 3개 사용하여 입력하였는데(동일한 조건) 잘됩니다.
params는 커리와 동일하게 사용하셔도 됩니다.
commandtext에 add 하시기전에 clear 추가만 했습니다. 동일한 sql문을 FDQuery로 해보시면 어떠신지 테스트 해보셨습니까 ?
fdcommand1.CommandText.Clear;
FDcommand1.CommandText.Add('insert into dept (code, dept,section)');
FDcommand1.CommandText.Add('Values (:a, :b, :c)');
FDcommand1.Params[0].AsString := 'ttt1';
FDcommand1.Params[1].AsString := '1234';
FDcommand1.Params[2].AsString := '1234';
FDcommand1.Execute;
그리고 FireDac 컴포넌트 사용법을 더 자세히 알고 싶으시면 C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples \Object Pascal\Database\FireDAC 폴더에 있는 샘플들을 참조하십시오.