Q&A

  • dbgrid 수정 된 값을 저장하는 방법좀 .....


초보자가 잘 안되서 또 글을 올립니다.



dbgrid내의 prn_flg 필드 값을 변경하여 goji 테이블에 저장하려합니다.

저장버튼을 이용해서 말이죠.(dbgrid내의 필드 변경은 되는데.. 저장이?..)



query1, datasourec1, dbgrid 서로 연결하고

저장 button의 onclick event에 아래와 같이 기술하였습니다.

begin

inherited;

with query1 do

begin

Close;

Sql.Clear;

Sql.Add(' update goji ');

Sql.Add(' set prn_flg = :prn_flg ');

Sql.Add(' where substring(gojinum from 1 for 4) = ''' + edit1.Text + ''' ');

Sql.Add(' and substring(gojinum from 5 for 4) = ''' + edit2.Text + ''' ');

Sql.Add(' and substring(gojinum from 9 for 3) = ''' + edit3.Text + ''' ');



ParamByName('prn_flg').AsString := DbGrid1.Columns[1].Field.asString;

ExecSQL;

end;

end;

참고) edit1.text := 2000

edit2.text := 1000

edit3.text := 001



gojinum 가 20001000001인 것만 select 함.

select된 dbgrid의 gojinum필드는



gojinum prn_flg

2000100000101

" 02 *

" 03

" 04 *





prn_flg 값을 변경하여 저장하니

저장이 안되데요..



where절에 substring을 사용하면 UpdateSQL 컴퍼넌트를 사용할 수 없는지요.

있으면 그 방법좀, 아니면 다른 방법좀 알려주십시요..







2  COMMENTS
  • Profile
    Mr.Q 2000.04.24 04:16
    Table1.Post;

    Table1.Refresh;



    초보1 wrote:

    >

    > 초보자가 잘 안되서 또 글을 올립니다.

    >

    > dbgrid내의 prn_flg 필드 값을 변경하여 goji 테이블에 저장하려합니다.

    > 저장버튼을 이용해서 말이죠.(dbgrid내의 필드 변경은 되는데.. 저장이?..)

    >

    > query1, datasourec1, dbgrid 서로 연결하고

    > 저장 button의 onclick event에 아래와 같이 기술하였습니다.

    > begin

    > inherited;

    > with query1 do

    > begin

    > Close;

    > Sql.Clear;

    > Sql.Add(' update goji ');

    > Sql.Add(' set prn_flg = :prn_flg ');

    > Sql.Add(' where substring(gojinum from 1 for 4) = ''' + edit1.Text + ''' ');

    > Sql.Add(' and substring(gojinum from 5 for 4) = ''' + edit2.Text + ''' ');

    > Sql.Add(' and substring(gojinum from 9 for 3) = ''' + edit3.Text + ''' ');

    >

    > ParamByName('prn_flg').AsString := DbGrid1.Columns[1].Field.asString;

    > ExecSQL;

    > end;

    > end;

    > 참고) edit1.text := 2000

    > edit2.text := 1000

    > edit3.text := 001

    >

    > gojinum 가 20001000001인 것만 select 함.

    > select된 dbgrid의 gojinum필드는

    >

    > gojinum prn_flg

    > 2000100000101

    > " 02 *

    > " 03

    > " 04 *

    >

    >

    > prn_flg 값을 변경하여 저장하니

    > 저장이 안되데요..

    >

    > where절에 substring을 사용하면 UpdateSQL 컴퍼넌트를 사용할 수 없는지요.

    > 있으면 그 방법좀, 아니면 다른 방법좀 알려주십시요..

    >

    >

    >

  • Profile
    초보1 2000.04.24 18:07
    답변감사합니다.

    그러나 query1, datasourec1, dbgrid 를 사용하지

    table컴퍼넌트를 사용안하는데...



    query1에

    ExecSQL;

    Post;

    Refresh;

    하니 'query1 : dataset not in edit or insert mode' error 가 발생하네요.



    다른 방법좀 알려주십시요..