Q&A

  • 스트링그리드 특정컬럼만 수정하여 update가능한지요?(이에고나한 답변은 없더군요)


이번에 델파이입문을했는데 저에게 어려일 난관이 많군요...저번에 도와주시분께



감사드립니다.



이번문제는 스트링그리드의 특정column에 잘못입력된숫자를 수정하여



update해야 됩니다.



질문

1. 버턴을 누르면 특정컬럼의 첫번째에 위치하게 만들었는데 이컬럼외에 다른컬럼으로

는 마우스나 화살표키가 못가게 할수 있는지요?(즉 그 컬럼의 위아래로만 움직이게)



2. 특정컬럼을 수정후 저장버튼을 누르면 저장하도록 버튼만 만들었습니다.

수정하기위한 update문을 사용하기위해 tquery와upfatesql을 같이 사용해야되나요?

아님 이런거 필요없이 그냥 코딩만으로도 가능한건지요?





1  COMMENTS
  • Profile
    델사랑 2001.07.17 02:44
    임성미 wrote:

    >

    > 이번에 델파이입문을했는데 저에게 어려일 난관이 많군요...저번에 도와주시분께

    >

    > 감사드립니다.

    >

    > 이번문제는 스트링그리드의 특정column에 잘못입력된숫자를 수정하여

    >

    > update해야 됩니다.

    >

    > 질문

    > 1. 버턴을 누르면 특정컬럼의 첫번째에 위치하게 만들었는데 이컬럼외에 다른컬럼으로

    > 는 마우스나 화살표키가 못가게 할수 있는지요?(즉 그 컬럼의 위아래로만 움직이게)

    >

    > 2. 특정컬럼을 수정후 저장버튼을 누르면 저장하도록 버튼만 만들었습니다.

    > 수정하기위한 update문을 사용하기위해 tquery와upfatesql을 같이 사용해야되나요?

    > 아님 이런거 필요없이 그냥 코딩만으로도 가능한건지요?

    >

    >

    저는 오라클 디비일때.. 이렇게 했거든요..

    우선 stringgrid의 속성중 Option중 goEditing은 true로 해주시고

    우선 선택한 row.col값이있어야하고.. 선택한 필드정보와 값...행값이 있으면.. 아주 간단히..

    어떤 디비인줄은 모르겠지만. 조금만 검색해주면.. 답이 있던것 같던데..



    a := StringGrid1.Col;

    b := StringGrid1.Row;

    c := StringGrid1.Cells[a,0]; //선택한필드의 필드정보

    d := StringGrid1.Cells[a,b]; //선택한필드의 값

    f := StringGrid1.Cells[0,b]; //선택한필드의 행정보 (처음값)fixedrows=0일때

    // f := StringGrid1.Cells[1,b]; fixedrows=1일때





    with QueryTemp do

    begin

    close;

    sql.Clear;

    sql.Add('update table set '+c+'='''+d+''' where rownum ='''+f+''' ');

    try

    Execsql;

    except

    on E:EDataBaseError do

    begin

    Close;

    Screen.Cursor := crDefault;

    ShowMessage('수정실패하셨습니다.다시 수정해 주세요');

    Exit;

    end;

    end;

    MessageDlg('수정완료', mtInformation, [mbOk], 0);

    end;