초보자가 잘 안되서 또 글을 올립니다.
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 컴퍼넌트를 사용할 수 없는지요.
있으면 그 방법좀, 아니면 다른 방법좀 알려주십시요..
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 컴퍼넌트를 사용할 수 없는지요.
> 있으면 그 방법좀, 아니면 다른 방법좀 알려주십시요..
>
>
>