Q&A

  • DBGrid에서 한 행 지우기
안녕하세요 고수님들...

요즘 날씨가 많이 추운데 감기, 빙판조심하십시요..



한가지 질문이 있어 올립니다.



DB: Paradox 7을 사용하고 있는데요.



DBGrid에 입력하고 혹 그행을 지울려는 Procedure를 만들었는데

이상하게 선택된 행이 지워지는 것이 아니고 가장 마지마에 입력된

행이 차례대로 지워지더라구요..이론 이럴수가..엉어ㅓㅇ엉



전 DBGrid상에서 선택된 그 항만을 지울려고 하는데 좀 도와주십시요



procedure TForm1.N9Click(Sender: TObject);

begin

if Query1.FieldByName('Id').AsString = '' then exit;

if MessageDlg('확실합니까?',mtConfirmation, mbOKCanCel, 0) = mrOK then

begin

Table1.Open;

Table1.Delete;

Query1.Close;

Query1.Open;

end;

end;



늘 행복하고 즐거운 일을 하시기 바랍니다. 감사합니다.

2  COMMENTS
  • Profile
    강인규 2001.01.17 13:46
    물어보신게 디비그리드가 맞다면....



    디비그리드에 연결된 테이블컴퍼넌트가 Table1이라 치면



    table1.delete;

    하심 됩니다.

    디비그리드에 선택된 행이 테이블에서 선택된 행이지여.

    둘은 같이 움직입니다.

    즐프하세여~ ^^





    이기코알라 wrote:

    > 안녕하세요 고수님들...

    > 요즘 날씨가 많이 추운데 감기, 빙판조심하십시요..

    >

    > 한가지 질문이 있어 올립니다.

    >

    > DB: Paradox 7을 사용하고 있는데요.

    >

    > DBGrid에 입력하고 혹 그행을 지울려는 Procedure를 만들었는데

    > 이상하게 선택된 행이 지워지는 것이 아니고 가장 마지마에 입력된

    > 행이 차례대로 지워지더라구요..이론 이럴수가..엉어ㅓㅇ엉

    >

    > 전 DBGrid상에서 선택된 그 항만을 지울려고 하는데 좀 도와주십시요

    >

    > procedure TForm1.N9Click(Sender: TObject);

    > begin

    > if Query1.FieldByName('Id').AsString = '' then exit;

    > if MessageDlg('확실합니까?',mtConfirmation, mbOKCanCel, 0) = mrOK then

    > begin

    > Table1.Open;

    > Table1.Delete;

    > Query1.Close;

    > Query1.Open;

    > end;

    > end;

    >

    > 늘 행복하고 즐거운 일을 하시기 바랍니다. 감사합니다.

  • Profile
    아폴론 2001.01.18 18:18
    >

    >

    > > 전 DBGrid상에서 선택된 그 항만을 지울려고 하는데 좀 도와주십시요

    > >

    > > procedure TForm1.N9Click(Sender: TObject);

    > > begin

    > > if Query1.FieldByName('Id').AsString = '' then exit;

    > > if MessageDlg('확실합니까?',mtConfirmation, mbOKCanCel, 0) = mrOK then

    > > begin

    > > Table1.Open; <=== 여기서 Open 하면 당연히 맨 마지막레코드에 커서가

    있는 결과지요

    > > Table1.Delete; <====맨 마지막 레코드를 지움니다.

    그러니까 테이블1은 열려있는 상태일테니까

    Open은 빼버리고 그냥 Delete문만써보세요.

    > > Query1.Close;

    > > Query1.Open;

    > > end;

    > > end;