Q&A

  • [Query질문)ParamByName이 안되는 경우...
델파이 초보거든요.

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를 하지 못합니다.



물론, 대부분의 경우에는 문제가 없었는데

안되는 경우가 있더라구요.

이유가 뭐고..

어떻게 해결해야 하는지 알고 싶습니다.



질문이 제대로 되었는지 모르겠네요.

빠른 답변 부탁드립니다.



6  COMMENTS
  • Profile
    좋은날 2000.03.08 23:36
    차은숙 wrote:

    > 델파이 초보거든요.

    > 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로 쓰시네요...



  • Profile
    혀노 2000.03.08 23:31
    > Query1.Sql.Add('Where UserId = :UserID');

    >

    > ParamByName('MUserID').AsString := MUserID.Text;

    > 로 바꾸었더니 Query를 하지 못합니다.



    ParamByName('UserID').AsString로 SQL문에 적어준 UserID 변수명하고 똑같이

    적어야 하거든요,,,

    아님 Params[0].AsString 를 사용하시던지요,,,





  • Profile
    진짜초보 2000.03.08 21:53
    혹시나 해서 써보는건데요..

    ParamByName('MUserID').AsString := MUserID.Text; 를

    Params.ParamByName('MUserID').AsString := MUserID.Text; 라고 쓰신건지요..??





    차은숙 wrote:

    > 델파이 초보거든요.

    > 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를 하지 못합니다.

    >

    > 물론, 대부분의 경우에는 문제가 없었는데

    > 안되는 경우가 있더라구요.

    > 이유가 뭐고..

    > 어떻게 해결해야 하는지 알고 싶습니다.

    >

    > 질문이 제대로 되었는지 모르겠네요.

    > 빠른 답변 부탁드립니다.

    >

  • Profile
    차은숙 2000.03.08 23:17
    아니요...

    ParamByName('MUserID').AsString := MUserID.Text;

    라고 썼는데요.



    Params.ParamByName('MUserID').AsString := MUserID.Text;

    의 params는 무엇을 의미하는 건지?



  • Profile
    진짜초보 2000.03.09 16:15
    차은숙 wrote:

    > 아니요...

    > ParamByName('MUserID').AsString := MUserID.Text;

    > 라고 썼는데요.

    >

    > Params.ParamByName('MUserID').AsString := MUserID.Text;

    > 의 params는 무엇을 의미하는 건지?

    >



    혹시 아직 이문제가 안풀리셨다면..



    그럼 Params.ParamByName('UserID').AsString:= MUserID.Text;



    라고 쓰시면 될것 같네요..



    그리고 전 진짜초보라 잘 모르겠는데, 책보고 알려드릴께요..





  • Profile
    진짜초보 2000.03.09 16:15
    차은숙 wrote:

    > 아니요...

    > ParamByName('MUserID').AsString := MUserID.Text;

    > 라고 썼는데요.

    >

    > Params.ParamByName('MUserID').AsString := MUserID.Text;

    > 의 params는 무엇을 의미하는 건지?

    >



    혹시 아직 이문제가 안풀리셨다면..



    그럼 Params.ParamByName('UserID').AsString:= MUserID.Text;



    라고 쓰시면 될것 같네요..



    그리고 전 진짜초보라 잘 모르겠는데, 책보고 알려드릴께요..





    • 문영봉
    • 2000.03.08 23:52
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 문영봉
      2000.03.09 19:13
      문영봉 wrote: > 제가 ms-sql을 db로 사용하고요... Tdatasource를 써서 직접 연결을 하여 사용하고 > 있...
    • 문영봉
      2000.03.09 19:12
      문영봉 wrote: > 제가 ms-sql을 db로 사용하고요... Tdatasource를 써서 직접 연결을 하여 사용하고 > 있...
    • 문영봉
      2000.03.09 19:12
      문영봉 wrote: > 제가 ms-sql을 db로 사용하고요... Tdatasource를 써서 직접 연결을 하여 사용하고 > 있...
    • topsman
    • 2000.03.08 23:18
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 모양
    • 2000.03.08 22:52
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.08 22:53
      얼마든지 낮은 버전에서 높은 버전의 폼을 열수 있습니다. 같은 버전에서도 안 열리 는 폼들이 있죠... ...
    • 모양
      2000.03.09 00:54
      최용일 wrote: > 얼마든지 낮은 버전에서 높은 버전의 폼을 열수 있습니다. 같은 버전에서도 안 열리 > ...
    • 최용일
      2000.03.09 02:45
      델파이 Bin디렉토리에 보시면 아마도 Convert.exe프로그램이 있습니다. 이걸 이용하시면 버전에 맞게 바꾸...
    • 류동균
      2000.03.09 08:00
      김하나 wrote: > with AiriForm.AiriSQL do begin > try > Close; > SQL.Clear; ...
    • 김하나
      2000.03.10 23:22
      류동균 wrote: > 김하나 wrote: > > with AiriForm.AiriSQL do begin > > try > > Clos...
    • 차은숙
    • 2000.03.08 21:49
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 좋은날
      2000.03.08 23:36
      차은숙 wrote: > 델파이 초보거든요. > DB에서 Select를 하는데, > 저희 Convention에 의해 > sql문에 ...
    • 혀노
      2000.03.08 23:31
      > Query1.Sql.Add('Where UserId = :UserID'); > > ParamByName('MUserID').AsString := MUserID.Te...
    • 진짜초보
      2000.03.08 21:53
      혹시나 해서 써보는건데요.. ParamByName('MUserID').AsString := MUserID.Text; 를 Params.ParamBy...
    • 차은숙
      2000.03.08 23:17
      아니요... ParamByName('MUserID').AsString := MUserID.Text; 라고 썼는데요. Params.ParamBy...
    • 진짜초보
      2000.03.09 16:15
      차은숙 wrote: > 아니요... > ParamByName('MUserID').AsString := MUserID.Text; > 라고 썼는데...
    • 진짜초보
      2000.03.09 16:15
      차은숙 wrote: > 아니요... > ParamByName('MUserID').AsString := MUserID.Text; > 라고 썼는데...
    • 철이
    • 2000.03.08 21:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.08 22:44
      procedure Form1.Button1Click(Sender: TObject); begin Button2.OnClick; MenuItem1.OnClick; ....
    • cho
    • 2000.03.10 03:52
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김남일
      2000.03.15 21:43
      안녕하세요. 음. 혹시 Record위치를 조정하지 않았나요? Action에서 Table를 Scan 후(eof 까지) Table ...
    • 화랑
      2000.03.10 18:35
      안녕하세요.. 저도 델파이로 웹 프로그래밍을 다 하고 있는데요.. 저는 그런 에러가 전혀 없었거든요? ...
    • 황선희
    • 2000.03.08 20:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이복만
      2010.02.05 04:16
      저의 경우 변수를 중복 사용하여 발생했었습니다 예를 들어 SpeedButton 3개가 있는데 각각의 버튼 이...
    • 델사랑
    • 2000.03.08 20:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      2000.03.08 20:53
      델사랑 wrote: > 한수 부탁합니다. > 델에서 폼을 캡쳐해서 프린터하는 방법좀 가르쳐주세요. > 내공이 ...
    • 델사랑
      2000.03.09 01:43
      조복기 wrote: > 델사랑 wrote: > > 한수 부탁합니다. > > 델에서 폼을 캡쳐해서 프린터하는 방법좀 가...
    • 델초
    • 2000.03.08 19:23
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김지희
      2000.03.08 22:08
      dictionary정보를 참조하시면 되겠네여. USER_CONSTRAINTS와 USER_CONS_COLUMNS 를 보시면... 델초...
    • 델초
      2000.03.08 22:52
      감사합니다만 Select문에서 어떻게 사용해야 할 지 몰라서요..
    • 김지희
      2000.03.08 23:50
      select C.table_name, C.constraint_name, C.constraint_type, CC.column_name ...원하는 필드명...
    • 이태호
    • 2000.03.08 19:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.08 20:01
      아래와 같이 버퍼를 열린배열로 하고 SetLength를 이용하여 크기를 설정하여주시면 됩니다. procedure Ca...
    • 이태호
      2000.03.10 07:17
      최용일 wrote: > 아래와 같이 버퍼를 열린배열로 하고 SetLength를 이용하여 크기를 > 설정하여주시면 됩...