Q&A

  • mysql query 질문드립니다.
mysql을 사용하고 있고요
db연결을 통해서 로그인하는 부분을 공부삼아 만들고 있습니다.

지금 진행중인 상황은 이렇습니다.
로그인 창에서 아이디와 비밀번호를 입력하고 로그인 하면
해당 테이블에서 아이디와 비밀번호가 일치하는 것을 찾아서 확인차
edit 컴포넌트에 id값을 찍어주는.. 이런 내용입니다.
결과는 계속 실패로 나옵니다 ^^;

부디 선배님들의 도움을 부탁드립니다.

현재 작성한 소스 코드입니다.

procedure TForm1.Button1Click(Sender: TObject);
var idvar : string;
begin
DM.query.Close;
DM.query.Sql.Clear;
DM.query.Sql.Add('select * from member where id="edit_id.Text" and passwd="edit_pass.Text"');

try
   DM.query.Open;
   idvar := DM.query.FieldByName('name').asString;
   edit1.text := idvar;


except
   showMessage(' 또 실패다야 쯔압 ');
   exit;
end;

end;
6  COMMENTS
  • Profile
    채태숙 2004.01.27 23:32



    아마도.. edti_id.Text와 edit_Pass.Text 를 문자열로 받아서 그런듯...

    저 값을 파라미터로 넘겨야 하는데.. '' '' 안에 넣었다는것은.. edti_id.Text의 값을 받아가는것이 아니라.. edti_id.Text 를 그대로 문자열로 넣은게 되거든요..


    DM.query.Sql.Add('select * from member where id= :edit_id and passwd=:edit_pass ');
    DM.query.parameters.ParamByName('edit_Id').Value := edit_id.Text;
    DM.query.parameters.ParamByName('edit_pass').Value := edit_pass.Text;
    Open;

    이렇게 해보세요..
  • Profile
    이원진 2004.01.27 23:54
    답변감사드립니다.
    그런데 제가 워낙 초보라 알려주신 내용 가지고도 아직 해결을 못했습니다.
    주문한 책이 얼렁 와야 할텐데요^^;

    알려주신 내용데로 '' ''안에 넣어서 값이 찍히지 않고 변수명이 그대로 들어가서 생긴 문제 같습니다.

    그래서 실제로 디비에 있는 값을 입력하고 쿼리를 날려보았더니 정상적으로 쿼리가 되었습니다.

    그런데 이렇게 직접 값을 찍어주는것은 되는데
    변수명을 인식시키지 못하고 있습니다.
    알려주신데로 where id= :edit_id and passwd:=edit_pass  이런식으로
    해봤더니 쿼리가 되지 않는것으로 봐서..
    뭔가 다른 방식이 필요한것 같습니다.


  • Profile
    유동기 2004.01.28 01:32

      -----> 코딩 오류로 보입니다
                 passwd := edit_pass 가 아니고 passwd =: edit_pass 로
                변경해야 합니다.
                파라미터 앞에 :을 붙여서 사용
  • Profile
    채태숙 2004.01.28 00:36
    값을 넘기는 방법은 여러가지가 있는데 아까전의 방법은 파라미터를 설정해서 파라미터에 값을 넘기는 방식이었구요.. 아래것은.. 쿼리상에 바로 값을 넘기는 방식이예요...

    님께서 어떻게 설정을 하셨는지 알 방법이 없기에 다른 방법도 가르쳐드릴께요..

    만약에 두가지다 안된다면.. ^^;;

    DM.query.Sql.Add('select * from member where id= "'+edit_id.Text+'" and passwd="'+edit_id.Text+'" ');
    Open;



  • Profile
    이원진 2004.01.28 01:01
    네 고맙습니다
    성공했습니다. 안그래도 게시물 검색해서 해보았는데 되었구요..
    님께서 알려주신 방법과 동일합니다.

    그동안 php로 스크립트를 이용했었는데요.
    코딩 방법이 델파이와  많이 틀려서 애를 먹고 있네요..

    정말 감사드립니다.

  • Profile
    채태숙 2004.01.28 01:51
    • sallyslaw
      2004.01.31 04:02
      이벤트에 보시면 onGetCellColor라는 것이 있습니다. 이 이벤트내에서..처리하시면 됩니다. argume...
    • Galaxy
      2004.02.04 20:43
      감사 합니다.
    • 윤민규
    • 2004.01.28 23:32
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최수림
    • 2004.01.28 23:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2004.01.29 01:22
      ListItem에 값을 뿌리기전에 ListItem.Caption에 해당 아이피가 있는지 먼저 검사하고 있으면 거기에 ...
    • 최수림
      2004.01.29 01:51
      리스트 뷰에 뿌릴때는 리스트뷰에 아무것도 들어가 있지 않은 상태입니다. 해당 레코드를 리스트 뷰에 ...
    • 최용일
      2004.01.29 10:56
      안녕하세요. 최용일입니다. 데이터를 입력하기 전에 그 데이터가 이미 있는가 검색하세요. 이미 존재...
    • 김민웅
    • 2004.01.28 20:52
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김혜진
    • 2004.01.28 20:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • sallyslaw
      2004.01.28 20:18
      해당 소스폴더 내에 보시면 Project명.dof 와 project명.cfg 파일이 있습니다. 열어서 에러가 생긴 pas...
    • 김혜진
      2004.01.28 23:01
      먼저 답변해 주셔서 감사합니다. 제 해당 소스폴더의 dof file과 cfg file 에는 pas 파일명이 전혀 없...
    • 김혜진
      2004.01.28 23:41
      해결했습니다. 원인은 제가 JRO_TLB Library 를 import 하지 않아서 이더군요. *^^* 부끄럽습니다. 그...
    • 박정순
    • 2004.01.28 18:23
    • 5 COMMENTS
    • /
    • 0 LIKES
    • Galaxy
      2004.01.28 19:26
      안녕하세요 수고 하십니다. 수전히 제생각을 적은것입니다. 이렇게 하면 되지 않을까요 1.배열, 포인터...
    • Galaxy
      2004.01.28 19:28
    • 박정순
      2004.01.28 22:00
      예를들어서요.. var         i : integer; begin  &nbs...
    • Galaxy
      2004.01.29 00:37
      middle 버튼을 누르면 볼륨값이 중간에 오고 reset 버튼을 누르면 볼륨값이 middle버튼 누루기 이전의 값...
    • Galaxy
      2004.01.29 01:23
      아래 내용되로 됩니다. ------------------------------------------------------------- middle 버튼을 ...
    • 이원진
      2004.01.28 23:05
      아하. 글로벌변수를 이용해야 겠군요. 예제까지 보여주시고, 초보라서 모르는게 너무 많습니다. 음, 이거...
    • 남양원
      2004.01.28 19:58
      program TEST; uses   Forms,   Controls,   Login in 'Login.pas' {...
    • 박진수
      2004.01.28 18:13
      가장 간단한 방법은.. 넘겨줄 폼의 public 부분에.. Argument 역할을 대신할 변수를 선언한후.. 호...
    • 이추형
      2004.01.28 18:08
      글로벌 변수로 사용자 정보를 값으로 갖게하여 공유하는 방법이 있구요 Form to Form을 고집해야 한다면...
    • 델초보
    • 2004.01.28 06:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김대혁
      2004.01.28 22:57
      OpenDialog1 를 이용한면 하면 되겠고 파일 rename 시키면 될것 같은데요.
    • 최수림
    • 2004.01.28 06:38
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 서정협
      2004.01.28 20:07
      SetLength 구문을 for 문 안에다 쓰시려면 SetLength(ToTalChannelList, i); ==> SetLength(ToTalChann...
    • Crazy
      2004.01.28 06:58
      setlength 를 처음으로 빼주세요.. setlength 는 동적배열생성시 2번째 인자의 갯수만큼 만듭니다. try...
    • 최수림
      2004.01.28 09:17
      답변 잘받았습니다. 테스트 해봤구요..너무너무감사합니다..^^ 아까에 이어서 질문 다시 하나 해두될까...
    • Crazy
      2004.01.28 18:16
      안녕하세욤~ 초기화를 말하심은 들어있는 값만 초기화인가요? 아님 선언된 배열을 해제해는 건지요.. 여...
    • 최수림
      2004.01.28 20:23
    • 엄장섭
    • 2004.01.28 05:56
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김운필
      2004.01.28 20:02
      TDatetimeField  에 보면 DisplayFomat 이라는 Property가 있습니다. 적용하는 방법은 아...
    • Crazy
      2004.01.28 06:26
      var     sDate : Tdate; begin      sDate := StrToDateTime(...
    • 엄장섭
      2004.01.28 07:01
      제가 궁굼해 했던 것은 엑세스에서는 08:00이라는 값으로 시간이 저장 되어있는데 디비 그리드에서 그 ...
    • Crazy
      2004.01.28 08:04
      안녕하세요. 디비그리드는 데이타소스에 연결된 디스플레이용 컴퍼넌트일뿐이라서 컨트롤을 직접 할수가 ...
    • LDS
      2004.01.28 20:26
      비프음 없애는 방법 입니다. Application.OnActicate Var temp: BOOL; Begin Systemparameter...
    • 빠블로
    • 2004.01.28 03:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정은
    • 2004.01.28 01:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.01.28 06:33
      1. 프린터 설정에서 하셧다고 하는데 출력하는 프린터, 또는 1개이상의 프린터라면 기본프린터 (셋업하지...
    • 곽경래
      2004.01.28 03:46
      re) 프린트가 인쇄되는 사양인지요... 제가 해봤는데 별이상 없이 잘나오군요...
    • 이원진
    • 2004.01.27 23:23
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 채태숙
      2004.01.27 23:32
      아마도.. edti_id.Text와 edit_Pass.Text 를 문자열로 받아서 그런듯... 저 값을 파라미터로 넘겨...
    • 이원진
      2004.01.27 23:54
      답변감사드립니다. 그런데 제가 워낙 초보라 알려주신 내용 가지고도 아직 해결을 못했습니다. 주문한 책...
    • 유동기
      2004.01.28 01:32
        -----> 코딩 오류로 보입니다          ...
    • 채태숙
      2004.01.28 00:36
      값을 넘기는 방법은 여러가지가 있는데 아까전의 방법은 파라미터를 설정해서 파라미터에 값을 넘기는 방식...
    • 이원진
      2004.01.28 01:01
      네 고맙습니다 성공했습니다. 안그래도 게시물 검색해서 해보았는데 되었구요.. 님께서 알려주신 방법과 ...
    • 채태숙
      2004.01.28 01:51
    • 채태숙
    • 2004.01.27 23:16
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이윤도
      2004.01.29 21:32
      저는 아직 초보라서 정확은 답변은 드릴수가 없지만...어제 저도 같은 경우로 ESC키를 누르면 바로 ...
    • Galaxy
      2004.01.28 19:12
      저도 그런 경우를 경험한 적이 있습니다. 저 같은 경우에는 작업에 필요해서 Keypress와 KeyDown을 동시에...
    • 곽경래
      2004.01.28 03:49
      re) 안녕하세요.. ESC키는 keypress에서 사용하시면 됩니다 If key = #27 then   begin &nb...
    • 채태숙
      2004.01.28 06:19
      답변 감사합니다.. 곽경래님.. 가르쳐주신대로 FormKeyPress 이벤트에 적용을 시켜봤는데 여전히 K...
    • 석주현
      2004.01.28 02:15
      저는 잘되던 데요.. ^^ 다시 다른 곳을 체크 해보심이.. 즐프 하세요..
    • 석주현
      2004.01.28 02:10
      단순하게 정수형 몫을 구하는걸 원한다면 trunc(a / b) 이렇게 하면 정수형 몫이 나오긴 하겠죠.. 근...
    • 석주현
      2004.01.27 23:09
      질문 내용이 이상하군요.. 소수점 이하 자리 까지 있는 나눗셈에서 왜 어째서 나머지가 나오는지 ? 음 ...
    • 이기재
      2004.01.27 23:45
      예를 들어 설명한거구요 소숫점은 10자리까지지만 있을수도 없을수도있어요 그리고 a div b에서 b는 ...
    • 곽경래
    • 2004.01.27 22:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 채태숙
      2004.01.27 23:04
      DrawCell 이벤트에서 구현가능합니다.. ACol에 따라서 Canvas.Font.Color를 다르게 적용시키시면 될...