Q&A

  • (질문)사용자명과 비밀번호 수정(update) 및 표출
델파이 초보가 다시 질문 드립니다.

With Query2 Do

begin

CLOSE;

SQL.Clear;

SQL.Add(' update 테이블명 set 필드명 =: 변수, 필드명=: 변수');

case 사용자 종류 of

1 : begin



parambyname('변수').asstring := edit1.text;

parambyname('변수').asstring := edit2.text;

end;

2 : begin



parambyname('변수').asstring := edit1.text;

parambyname('변수').asstring := edit2.text;

end;

3 : begin



parambyname('변수').asstring := edit1.text;

parambyname('변수').asstring := edit2.text;

end;



end;

end;

ExecSQl;

//수정 후 표출

with Query1 do

begin

close;

sql.Clear;

sql.Add('select * from 테이블명');

open;

end;

end;



edit1은 수정할 사용자명 입력창

edit2는 수정할 비밀번호 입력창



질문1.

이렇게 하고 수정을 하면 폼을 닫고 다시 열어야 수정 후 데이터가 표시됩니다.

수정 후 곧바고 표시되는 방법은 무엇입니까?

데이터를 표시하는 창도 사용자 각각에 대한 사용자명과 비밀번호를 표시하는 에디트 창입니다.



질문2.

사용자 종류에 따라 그 사용자에 대한 데이터만 수정하고 싶은데 전체가 모두 수정됩니다. 그리고 case에 넣은 사용자명에 대한 타입이 알수 없다라는 에러가 표시될 때도 있습니다. 힌트 부탁드립니다.

2  COMMENTS
  • Profile
    loke 2001.08.15 07:05
    1번 질문의내용이 잘 이해가안가네요... DBGrid 를 사용하는데 바뀐 내용이표시 안되는 건지 - 아마 쿼리를 close 하고 open 하면 보일텐데...- 이건 아닌것 같고요...

    어디에서 표시가 안되는 건지... 에디트 에서 라면 수정하기 전에 수정하고싶은 내용으로 채워져 있을테니가 폼을 닫지 않아도 보일텐데요... 혹시 데이터를 수정하고 에디트 박스를 클리어 하지 않나요???



    질문2.

    : sql update 문에서 where 절이 빠졌군요^^







    prosit wrote:

    > 델파이 초보가 다시 질문 드립니다.

    > With Query2 Do

    > begin

    > CLOSE;

    > SQL.Clear;

    > SQL.Add(' update 테이블명 set 필드명 =: 변수, 필드명=: 변수');

    > case 사용자 종류 of

    > 1 : begin

    >

    > parambyname('변수').asstring := edit1.text;

    > parambyname('변수').asstring := edit2.text;

    > end;

    > 2 : begin

    >

    > parambyname('변수').asstring := edit1.text;

    > parambyname('변수').asstring := edit2.text;

    > end;

    > 3 : begin

    >

    > parambyname('변수').asstring := edit1.text;

    > parambyname('변수').asstring := edit2.text;

    > end;

    >

    > end;

    > end;

    > ExecSQl;

    > //수정 후 표출

    > with Query1 do

    > begin

    > close;

    > sql.Clear;

    > sql.Add('select * from 테이블명');

    > open;

    > end;

    > end;

    >

    > edit1은 수정할 사용자명 입력창

    > edit2는 수정할 비밀번호 입력창

    >

    > 질문1.

    > 이렇게 하고 수정을 하면 폼을 닫고 다시 열어야 수정 후 데이터가 표시됩니다.

    > 수정 후 곧바고 표시되는 방법은 무엇입니까?

    > 데이터를 표시하는 창도 사용자 각각에 대한 사용자명과 비밀번호를 표시하는 에디트 창입니다.

    >

    > 질문2.

    > 사용자 종류에 따라 그 사용자에 대한 데이터만 수정하고 싶은데 전체가 모두 수정됩니다. 힌트 부탁드립니다.

  • Profile
    prosit 2001.08.15 07:52
    loke wrote:

    > 1번 질문의내용이 잘 이해가안가네요... DBGrid 를 사용하는데 바뀐 내용이표시 안되는 건지 - 아마 쿼리를 close 하고 open 하면 보일텐데...- 이건 아닌것 같고요...

    > 어디에서 표시가 안되는 건지... 에디트 에서 라면 수정하기 전에 수정하고싶은 내용으로 채워져 있을테니가 폼을 닫지 않아도 보일텐데요... 혹시 데이터를 수정하고 에디트 박스를 클리어 하지 않나요???

    >

    > 질문2.

    > : sql update 문에서 where 절이 빠졌군요^^





    답변에 진심으로 감사드립니다.

    제가 초보라서 질문을 제대로 드리지 못했습니다.

    DBGrid 를 사용하지 않았구요, 에디트창만 사용하고 있습니다.

    폼이 처음 표시될 때 현재 사용자명과 비밀번호 현황을 표시해주고 사용자명과 비밀번호가 등록 되지 않은 사용자는 등록(저장)할 수 있게 하고 등록되어 있는 사용자는 사용자명과 비밀번호를 수정 혹은 삭제할 수 있게 하고 싶거든요. 등록(저장), 삭제, 수정 후 즉시 바뀐 내용을 각 사용자의 에디트에 표시해 주고 싶거든요.

    며칠전에도 같은 질문을 했는데 제가 질문을 잘 못 했나봐요. 기존의 문답을 검색했는데도 초보라서 제 것으로 이해하지 못하네요.

    그리고 자꾸 필드명과 필드명 변수에 대한 에러가 발생하네요(not find, unknown type)



    다시 한번 감사드립니다.