Q&A

  • select 절에서 count(*) 함수를 썼는데...
안녕하십니까. 희망선입니다.

한가지 질문 사항이 있는데요.



with DM.UserQuery do begin

Close;

SQL.Clear;

SQL.Add(' SELECT * FROM users WHERE ID = :P_ID');

ParamByName('P_ID').AsString := Edit1.Text;

Open;

if not EOF then

if FieldByName('PASSWD').AsString = Edit2.Text then begin

SubFormDisplay;

ComponentClear;

end

else begin

ShowMessage('패스워드가 잘못되었습니다.');

Edit2.SetFocus;

end

else begin

ShowMessage('ID가 잘못되었습니다.');

Edit1.SetFocus;

end;

end;

코딩 내용은 위와 같습니다. 그런데 제가 쿼리문을



SQL.Add(' SELECT count(*) FROM users WHERE ID = :P_ID');

이런식으로 count(*) 함수를 쓸려고 하는데 정작 count(*) 함수를 써서 나올 값을

어떻게 프로그램상(변수)에 담을것인지 알수가 없네요.

예전에 어떻게 했는것 같기도 한데 알수 가 없습니다.

도사님들의 조언 부탁드려요.





2  COMMENTS
  • Profile
    오현수 1999.11.13 21:04
    hopeship wrote:

    > 안녕하십니까. 희망선입니다.

    > 한가지 질문 사항이 있는데요.

    >

    > with DM.UserQuery do begin

    > Close;

    > SQL.Clear;

    > SQL.Add(' SELECT * FROM users WHERE ID = :P_ID');

    > ParamByName('P_ID').AsString := Edit1.Text;

    > Open;

    > if not EOF then

    > if FieldByName('PASSWD').AsString = Edit2.Text then begin

    > SubFormDisplay;

    > ComponentClear;

    > end

    > else begin

    > ShowMessage('패스워드가 잘못되었습니다.');

    > Edit2.SetFocus;

    > end

    > else begin

    > ShowMessage('ID가 잘못되었습니다.');

    > Edit1.SetFocus;

    > end;

    > end;

    > 코딩 내용은 위와 같습니다. 그런데 제가 쿼리문을

    >

    > SQL.Add(' SELECT count(*) FROM users WHERE ID = :P_ID');

    > 이런식으로 count(*) 함수를 쓸려고 하는데 정작 count(*) 함수를 써서 나올 값을

    > 어떻게 프로그램상(변수)에 담을것인지 알수가 없네요.

    > 예전에 어떻게 했는것 같기도 한데 알수 가 없습니다.

    > 도사님들의 조언 부탁드려요.

    >

    >

    'AS'문을 사용하시면 됩니다. 아래와 같이 하면

    카운트된 값이 num이라는 가상의 필드에 넣어지게 됩니다.



    Select count(*) AS num FROM users WHERE ID = :P_ID



    실행을 시키시고(Open)

    정수변수 := FieldByName('num')->AsInteger;

    를 사용하면 count된 값을 알수가 있습니다.









  • Profile
    정은표 2000.12.30 11:02
    오현수 wrote:

    > hopeship wrote:

    > > 안녕하십니까. 희망선입니다.

    > > 한가지 질문 사항이 있는데요.

    > >

    > > with DM.UserQuery do begin

    > > Close;

    > > SQL.Clear;

    > > SQL.Add(' SELECT * FROM users WHERE ID = :P_ID');

    > > ParamByName('P_ID').AsString := Edit1.Text;

    > > Open;

    > > if not EOF then

    > > if FieldByName('PASSWD').AsString = Edit2.Text then begin

    > > SubFormDisplay;

    > > ComponentClear;

    > > end

    > > else begin

    > > ShowMessage('패스워드가 잘못되었습니다.');

    > > Edit2.SetFocus;

    > > end

    > > else begin

    > > ShowMessage('ID가 잘못되었습니다.');

    > > Edit1.SetFocus;

    > > end;

    > > end;

    > > 코딩 내용은 위와 같습니다. 그런데 제가 쿼리문을

    > >

    > > SQL.Add(' SELECT count(*) FROM users WHERE ID = :P_ID');

    > > 이런식으로 count(*) 함수를 쓸려고 하는데 정작 count(*) 함수를 써서 나올 값을

    > > 어떻게 프로그램상(변수)에 담을것인지 알수가 없네요.

    > > 예전에 어떻게 했는것 같기도 한데 알수 가 없습니다.

    > > 도사님들의 조언 부탁드려요.

    > >

    > >

    > 'AS'문을 사용하시면 됩니다. 아래와 같이 하면

    > 카운트된 값이 num이라는 가상의 필드에 넣어지게 됩니다.

    >

    > Select count(*) AS num FROM users WHERE ID = :P_ID

    >

    > 실행을 시키시고(Open)

    > 정수변수 := FieldByName('num')->AsInteger;

    > 를 사용하면 count된 값을 알수가 있습니다.

    >

    >

    >

    >

    제가 완전초보라서 이해를 잘못했는데 드디어 성공 했습니다

    제가 한거라도 잘 이해는 못하고 있습니다

    Form 에서 Datasource 와 Query 를 하나씩 만들어 주고(안해줘도 되는건지 잘 몰라서)

    Edit1, Edit12 두개를 만들었습니다

    디비는 오라클



    procedure TForm1.Button1Click(Sender: TObject);

    var

    cnt : integer;

    begin

    Query1.Close;

    Query1.Sql.Clear ;

    Query1.Sql.Add ('select count(*) cnt from main where passwd = :passwd');

    Query1.ParamByName('passwd').Asstring := Edit1.text;

    Query1.open;

    Edit2.Text :=inttostr(Query1.FieldByName('cnt').AsInteger);

    end;





    • 이주흥
    • 1999.11.13 21:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오정운
      1999.11.16 08:59
      이주흥 wrote: > 안녕하세요... > 질문만 드리는 흥입니다.. > 오라클에 대해 궁금한게 있어서요.. > ...
    • JANG
    • 1999.11.13 20:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:10
      네. 자주 오셔서 답변도 해주시고 그러세요. 자유게시판, 지역게시판에서도 자주 뵈었으면 하는군요. 고럼....
    • 미선
    • 1999.11.13 20:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      1999.11.13 21:04
      미선 wrote: > 라디오 버튼을 이용해서 검색을 하려고 하는데요... > 1. edit에 검색할 단어 입력 > 2. ...
    • hopeship
    • 1999.11.13 20:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 오현수
      1999.11.13 21:04
      hopeship wrote: > 안녕하십니까. 희망선입니다. > 한가지 질문 사항이 있는데요. > > with DM.UserQu...
    • 정은표
      2000.12.30 11:02
      오현수 wrote: > hopeship wrote: > > 안녕하십니까. 희망선입니다. > > 한가지 질문 사항이 있는데요. ...
    • 이정욱
      1999.11.13 20:51
      Key 가 #8 일때도 먹게 해주시면 됩니다. 이 외에 엔터키는 #13 입니다. 초보자 wrote: > 도와주세...
    • jang
      1999.11.14 03:06
      울보 wrote: > 엉엉엉... > > 클라이언트/서버 버전에 있는 인터넷 관련 컴포넌트들을 스탠다드 버전에...
    • 이정욱
      1999.11.13 21:17
      If Memo1.Lines.Count > 4 then begin Memo1.Lines.Delete(0); Memo1.SelStart := Length...
    • 진정한초보
      1999.11.16 23:41
      이정욱님 그런데... 중간 어느 라인에서 임의로 글자를 몇자 지우고 엔터키를 쳤을시 그댜로 넘어가는데...
    • 조창범
    • 1999.11.13 19:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오현수
      1999.11.14 08:59
      조창범 wrote: > 델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기...
    • BisBuck
    • 1999.11.13 19:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:09
      Application.Minimize; 를 사용해 보세요. BisBuck wrote: > 프로그램을 만들었어여... > 음 예를...
    • 황선희
    • 1999.11.13 18:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:18
      음.. 이상하군요.. 전 잘되는데요... 현재 사용하시는 델파이 버전을 말씀해 주세요. 황선희 wrote: ...
    • smkimpnt
    • 1999.11.13 18:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오현수
      1999.11.14 09:04
      smkimpnt wrote: > 설치도중에 PVCS를 찾을수 없다고 나오는데, 이 PVCS가 어떤 기능을 하는건지? > 또 ...
    • 초보자
    • 1999.11.13 17:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • JANG
      1999.11.24 02:36
      초보자 wrote: > 안녕하세요. > 저번에 질문드린 dbcombobox에 대한 빠른 답변 감사드립니다. > 또다른 ...
    • JANG
    • 1999.11.13 18:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 20:46
      네. 한델(www.delphi.co.kr) 홈페이지 자료실에 올려 놓았습니다. 도움이 되셨기를... JANG wrote: ...
    • 권은주
    • 1999.11.13 13:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김고진
      1999.11.15 20:00
      권은주 wrote: > > Q&A목록에서 아무리 찾아봐도 해당되는 명꽤한 답변이 없어 질문드립니다. > 물...
    • 이경문
      2000.04.19 17:22
      http://www.torry.ru/video.htm에서 TVideo Compoent가 짱입니다.
    • 오현수
      1999.11.16 04:35
      나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
    • 오현수
      1999.11.14 08:09
      나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
    • 이재식
      1999.11.15 03:21
      안녕하십니까? 잘 보았습니다. 지금쯤이면 잘 해결하셨을 거라고 생각됩니다. 제가 메일을 보냈는데...
    • 긴급
    • 1999.11.13 06:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.11.13 06:56
      긴급 wrote: > 얼마전 부터 도서&비디오 관리 프로젝트를 만들거든요. > 그런데 책을 대여할 때에 회원 ...
    • 박경서
    • 1999.11.13 06:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.11.13 22:34
      안녕하세요..경서님~ 델파이와 비베를 비교하는문건은 여러사이트, 그리고 여러 피씨통신관련 동호회...