Q&A

  • Update
DBGrid에서 특정 row를 더블클릭해서 얻은....

DBGrid에서 특정 row를 더블클릭해서 얻은 데이타를

업데이트하고 싶습니다.(물론 DB에 반영되도록)





예를 들어... 홍길동의 레코드를 추출하여 홍길동의 주소를

다른 주소로 업데이트하여 디비에 반영하는 것이지요..

(업데이트는 버튼 클릭으로...)





개념적으로는 당연히 되어야 하는데 잘 안되는군요...

현재 포커싱된 레코드를 인식하는 것부터

UpdateSQL 에 포커싱된 레코드의 특정 필드를 지정해주는 것등

모르는 것이 많습니다.



아시는 분들의 지도를 부탁드립니다. 그럼 이만...



1  COMMENTS
  • Profile
    구창민 1999.06.08 05:51
    최진수 께서 말씀하시기를...

    >

    > DBGrid에서 특정 row를 더블클릭해서 얻은....

    > DBGrid에서 특정 row를 더블클릭해서 얻은 데이타를

    > 업데이트하고 싶습니다.(물론 DB에 반영되도록)

    >

    >

    > 예를 들어... 홍길동의 레코드를 추출하여 홍길동의 주소를

    > 다른 주소로 업데이트하여 디비에 반영하는 것이지요..

    > (업데이트는 버튼 클릭으로...)

    >

    >

    > 개념적으로는 당연히 되어야 하는데 잘 안되는군요...

    > 현재 포커싱된 레코드를 인식하는 것부터

    > UpdateSQL 에 포커싱된 레코드의 특정 필드를 지정해주는 것등

    > 모르는 것이 많습니다.

    >

    > 아시는 분들의 지도를 부탁드립니다. 그럼 이만...

    >



    안녕하세요?

    아래는 Query로 Update하는 일반적인 방법입니다.

    보시고 참조되시기 바랍니다.

    UpdateSql의 사용법은 델파이 헬퍼 팁/강좌를 참조하세요.

    그럼.. 즐거운 프로그래밍~





    Query.Sql.Add('Update 테이블명 Set 필드명 = :파라메타,,,, Where 필드명 =: 파라메타');

    Query.ParamByName('파라메타').As종류 := 받을곳

    Query.ExecSql;

    먼저 Query,와 DataSource를 하나씩 올려 놓고 연결하고,

    이벤트에 코딩으로 처리되는데,

    begin

    Query.Close;

    Query.Sql.Clear;

    Query.Sql.Add('UpDate Friend '); //테이블명//

    Query.Sql.Add('Set Name = :Name, Phone = :Phone, Bipi = :Bipi , Address = :Address,

    Birth = :Birth, ZipCode = :ZipCode, Etc = :Etc '); //필드선정//

    Query.Sql.Add('Where Name = :Name'); //조건설정//

    Query.ParambyName('Name').AsString := Edit1.Text; //받는 곳 설정//

    Query.ParambyName('Phone').AsString := Edit2.Text;

    Query.ParambyName('Bipi').AsString := Edit3.Text;

    Query.ParambyName('Birth').AsDateTime := DateTimePicker1.Date;

    Query.ParambyName('ZipCode').AsString := Edit4.Text;

    Query.ParambyName('Address').AsString := Edit5.Text;

    Query.ParambyName('Etc').AsString := Edit6.Text;

    Query.ExecSQL;

    Query.Close;

    Query.Open;

    End;

    이 외에 Insert Query와 같이 데이타모듈로 처리하는 방법이 있다.

    데이타 모듈에 Query,와 DataSource를 하나씩 올려 놓고 연결하고 Query의 퍼로퍼티중 Sql에

    UpDate Friend

    Set Name = :Name, Phone = :Phone, Bipi = :Bipi , Address = :Address, Birth = :Birth, ZipCode = :ZipCode, Etc = :Etc

    Where Name = :Name 적고

    이벤트에

    begin

    dm1.qrUpdate.Close;

    dm1.qrUpdate.ParambyName('Name').AsString := Edit1.Text;

    dm1.qrUpdate.ParambyName('Phone').AsString := Edit2.Text;

    dm1.qrUpdate.ParambyName('Bipi').AsString := Edit3.Text;

    dm1.qrUpdate.ParambyName('Birth').AsDateTime := DateTimePicker1.Date;

    dm1.qrUpdate.ParambyName('ZipCode').AsString := Edit4.Text;

    dm1.qrUpdate.ParambyName('Address').AsString := Edit5.Text;

    dm1.qrUpdate.ParambyName('Etc').AsString := Edit6.Text;

    dm1.qrUpdate.ExecSQL;

    dm1.Query1.Close;

    dm1.Query1.Open;

    End;

    위의 경우 모듈이름은 dm1이고 Query 이름은 qrUpdate이고 Query1은 일반적인 Query이다.







    • rflag
    • 1999.06.08 19:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.09 02:39
      스크린세이버를 델파이로 만드시고 거기에 v3를 winexec로 실행시키는 코드를 추가 하시면 될꺼 같습니...
    • VMNT
    • 1999.06.08 15:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김태훈
    • 1999.06.08 12:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.08 19:37
      음냐....제가 보기에두 별루 틀린데가 없는듯 하군요... 제가 잘못 보았을 수도..... 다음과 같이 다시한...
    • 바이도
      1999.06.08 18:09
      TCP/IP Socket통신은 아주 쉽습니다. 아래의 HomePage에 접속해보세요. 콤포넌트및 필요한 예제 프로그램...
    • 유승진
      1999.06.09 01:34
      너무 너무 감사합니다.. 화일은 다운 받았구요.. 참고가 되었으면 좋겠습니다. 감사하구요.... 이렇게 ...
    • dream102
    • 1999.06.08 06:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.06.08 10:21
      dream102 께서 말씀하시기를... > 고맙습니다. 구창민님 근데요 > 무슨 말인지 잘 모르겠네요 > 제가 ...
    • 최진수
    • 1999.06.08 05:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.06.08 05:51
      최진수 께서 말씀하시기를... > > DBGrid에서 특정 row를 더블클릭해서 얻은.... > DBGrid에서 특정 ...
    • dream102
    • 1999.06.08 05:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.06.09 00:01
      dream102 께서 말씀하시기를... > 델파이로 프로젝트 파일을 저장할때 숫자로 하면 안되나요 > 숫자로 저...
    • 송기원
    • 1999.06.08 03:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      1999.06.08 18:36
      송기원 께서 말씀하시기를... > Hint가 나타나는 시간을 좀 더 빠르게 할 려고 하는데... > 어떻게 해야 ...
    • 안치봉
      1999.06.08 03:36
      송기원 께서 말씀하시기를... > Hint가 나타나는 시간을 좀 더 빠르게 할 려고 하는데... > 어떻게 해야 ...
    • 이재훈
    • 1999.06.08 03:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 바이도
      1999.06.08 18:15
      Update TESTTABLE set AAFIELD = ' ' where AAFIELD is null; TESTTABLE : TABLE NAME AAFIELD ...
    • 송기원
      1999.06.08 03:19
      Update 테이블이름 set 컬럼이름 = null where 조건문 Ex. Update Employee set new_salary = null ...
    • 황하강
    • 1999.06.08 02:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.06.08 18:57
      황하강 께서 말씀하시기를... > 질문] > 델파이 2 에서 TCP/IP를 이용해서 서버와 데이타를 주고 받는 ...
    • 마성수
    • 1999.06.08 02:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.08 03:41
      마성수 께서 말씀하시기를... > 도스에서 copy test*.txt error.txt라고 치면 > error.text에는 test1.tx...
    • 궁금이
    • 1999.06.08 00:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김성동
      1999.06.08 01:04
      New로 할당한 메모리를 FormClose에서 해제하면 안되죠.. TreeView의 OnDeletion Event를 작성하시고 ...
    • 블루
    • 1999.06.07 23:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송기원
    • 1999.06.07 22:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.08 00:37
      송기원 께서 말씀하시기를... > Project를 디버깅중에 자꾸 Bordbk40.dll에서 access Violation error > ...
    • 박종성
    • 1999.06.07 22:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김성동
      1999.06.08 00:57
      탐색기 역할을 하는 콤포넌트는 안치봉님께서 말씀하신 상용 콤포넌트 말고 여러가지 공개 콤포넌트들이 있...
    • 안치봉
      1999.06.08 00:42
      박종성 께서 말씀하시기를... > 안녕하세요! 여러분 > > 델파이에서는 Drive나 Directory, Filelistbox...