Q&A

  • edit 에서 한글입력이 인식이 안되는건지?

[질문]

사용자 이름과 주민번호를 입력하여 로그인 하는 부분에서

이름 부분을 조건에 넣고 조회하면 결과 값이 없는데

주민번호만 갖고 조회하면 결과값이 나옵니다.

 

쿼리를 저장해서 골든이나 토드에서 조회하면 이름으로 조건이 걸려서 제대로 나옵니다.

그런데 프로그램으로 하면 조회값이 안나옵니다.

Windows7 (32비트), 델파이7, 오덱을 사용하고 있습니다.

EDIT 컴포넌트 속송에서

IMEMODE = imHanguel

imeName = Microsort IME201

이렇게 되어 있거든요 다른걸로 바꿘 봐도 조회결과게 제대로 안되는데 혹시 오덱문지인지

답답하네요

 

lsSql := '';
  lsSql := lsSql +       'SELECT USER_ID, USER_PSWD, JUMIN_NO, NAMEHAN, USE_YN ';
  lsSql := lsSql + #13 + '      , USERGROUP_ID1, USERGROUP_ID2, USERGROUP_ID3, USERGROUP_ID4 ';
  lsSql := lsSql + #13 + '  FROM TUM_USER                              ';
  lsSql := lsSql + #13 + ' WHERE 1=1 ';

-------------------------------------------------------------------------------------------------------------------------

-- 요기부분이거든요

------------------------------------------------------------------------------------------------------------------------- 

 lsSql := lsSql + #13 + '   AND NAMEHAN like ' + QuotedStr('%'+trim(E_NAMEHAN.Text)+'%' );
  lsSql := lsSql + #13 + '   AND triM(JUMIN_NO) = ' + QuotedStr(trim(E_JUMIN_NO.Text));
 -------------------------------------------------------------------------------------------------------------------------

 

//showmessage(lsSql);

  With Q_LOGIN Do
  Begin
    If Active Then Close;
    Sql.Text := lsSql;
Sql.SaveToFile('d:\sql.sql');
    Open;
//showmessage(sql.Text);
    First;

    First;

    If EOF Then
    Begin
      ShowMessage('없는 사용자입니다.');
      E_USERID.SetFocus;
      Exit;
    End;

    If FieldByName('USER_PSWD').AsString <> E_PASSWD.Text Then
    Begin
      ShowMessage('비밀번호를 확인하십시오.');
      E_PASSWD.SetFocus;
      Exit;
    End;
    //next;
    //end;
  End;
  gsUserID := E_USERID.Text;
  gsUserNO := Q_LOGIN.FieldByName('USER_ID').AsString;
  gsUserNM := Q_LOGIN.FieldByName('NAMEHAN').AsString;
  gsRegNO  := Q_LOGIN.FieldByName('JUMIN_NO').AsString;
  ModalResult := mrOk;

0  COMMENTS