델파이 초보거든요.
DB에서 Select를 하는데,
저희 Convention에 의해
sql문에 직접 넣지 않고 ParamByName을 쓰기로 했거든요.
그런데,
Query1.Sql.Add('Where UserId = '+Chr(39)+MUserID.Text+Chr(39));
로했을때는 제대로 Query를 해오던것이
Query1.Sql.Add('Where UserId = :UserID');
ParamByName('MUserID').AsString := MUserID.Text;
로 바꾸었더니 Query를 하지 못합니다.
물론, 대부분의 경우에는 문제가 없었는데
안되는 경우가 있더라구요.
이유가 뭐고..
어떻게 해결해야 하는지 알고 싶습니다.
질문이 제대로 되었는지 모르겠네요.
빠른 답변 부탁드립니다.
> 델파이 초보거든요.
> DB에서 Select를 하는데,
> 저희 Convention에 의해
> sql문에 직접 넣지 않고 ParamByName을 쓰기로 했거든요.
> 그런데,
>
> Query1.Sql.Add('Where UserId = '+Chr(39)+MUserID.Text+Chr(39));
>
> 로했을때는 제대로 Query를 해오던것이
>
> Query1.Sql.Add('Where UserId = :UserID');
>
> ParamByName('MUserID').AsString := MUserID.Text;
> 로 바꾸었더니 Query를 하지 못합니다.
>
> 물론, 대부분의 경우에는 문제가 없었는데
> 안되는 경우가 있더라구요.
> 이유가 뭐고..
> 어떻게 해결해야 하는지 알고 싶습니다.
>
> 질문이 제대로 되었는지 모르겠네요.
> 빠른 답변 부탁드립니다.
>
query 컴포넌트의 params 프로퍼티 에서 쓰시려는 파라미터가
미리 선언돼 있어야 합니다.
그리고 위 문장에서 보니 sql add 부분에서는 :UserID 로
선언하시고 parambyname 부분에서는 MUserID로 쓰시네요...