안녕하세요
청개구리 남기석입니다.
제가 볼때.... 이대로 실행하면 Error가 날 것 같은데요...
항목들 사이에 ','가 안보여서요...
음..옮겨 적으면서 빼먹으신 거겠죠?
실행이 된다고 하신걸 보면요..
암튼...이렇게 해 보세요..
with query1 do
begin
close;
sql.clear;
sql.Add(' update dlp4 set');
sql.add(' name=:name,');
sql.add(' code=:code,');
sql.add(' teachar=:teachar,');
sql.add(' old=:old');
sql.Add(' where name=:name');
sql.add(' and teachar='''+teachar+'''');
sql.add(' and old='''+old+'''');
parambyname('name').asstring:=edit1.text;
parambyname('code').asstring:=edit2.text;
parambyname('teachar').asstring:=combobox2.text;
parambyname('old').asstring:=combobox1.text;
execsql;
end;
제가 볼땐...
Where 문장의 name 때문에 저장이 안된 것 같네요...
파라미터 넘길때... 'edit1.text' 라고 하면...
edit1 이라는 콘트롤의 text 값이 넘어가는게 아니고...
'edit1.text' 라는 스트링이 넘어가니까요...
Update 문장은 조건과 같은게 없으면...
실행만되고 아무것도 바뀌는게 없거든요...
행복하세요...
========================================================================================
델파이 초보자 wrote:
> with query1 do
> begin
> close;
> sql.clear;
> sql.Add('update dlp4 set');
> sql.add('name=:name');
> sql.add('code=:code');
> sql.add('teachar=:teachar');
> sql.add('old=:old');
> sql.Add('where name =:name ');
> sql.add('and teachar='''+teachar+'''');
> sql.add('and old='''+old+'''');
> prepare;
> parambyname('name').asstring:='edit1.text';
> parambyname('code').asstring:='edit2.text';
> parambyname('teachar').asstring:='combobox2.text';
> parambyname('old').asstring:='combobox1.text';
> execsql;
> showmessage('선택항목을 수정하였습니다');
>
다른 컴포넌트들을 다했는데...checkbox땜에..잘안돼네여..빨리 고쳐서...
언능언능 해야하는데....
청개구리님...알려주세요..
남기석 wrote:
> 안녕하세요
> 청개구리 남기석입니다.
>
> 제가 볼때.... 이대로 실행하면 Error가 날 것 같은데요...
> 항목들 사이에 ','가 안보여서요...
> 음..옮겨 적으면서 빼먹으신 거겠죠?
> 실행이 된다고 하신걸 보면요..
>
> 암튼...이렇게 해 보세요..
>
> with query1 do
> begin
> close;
> sql.clear;
> sql.Add(' update dlp4 set');
> sql.add(' name=:name,');
> sql.add(' code=:code,');
> sql.add(' teachar=:teachar,');
> sql.add(' old=:old');
> sql.Add(' where name=:name');
> sql.add(' and teachar='''+teachar+'''');
> sql.add(' and old='''+old+'''');
> parambyname('name').asstring:=edit1.text;
> parambyname('code').asstring:=edit2.text;
> parambyname('teachar').asstring:=combobox2.text;
> parambyname('old').asstring:=combobox1.text;
> execsql;
> end;
>
> 제가 볼땐...
> Where 문장의 name 때문에 저장이 안된 것 같네요...
>
> 파라미터 넘길때... 'edit1.text' 라고 하면...
> edit1 이라는 콘트롤의 text 값이 넘어가는게 아니고...
> 'edit1.text' 라는 스트링이 넘어가니까요...
>
> Update 문장은 조건과 같은게 없으면...
> 실행만되고 아무것도 바뀌는게 없거든요...
>
> 행복하세요...
>
> ========================================================================================
> 델파이 초보자 wrote:
> > with query1 do
> > begin
> > close;
> > sql.clear;
> > sql.Add('update dlp4 set');
> > sql.add('name=:name');
> > sql.add('code=:code');
> > sql.add('teachar=:teachar');
> > sql.add('old=:old');
> > sql.Add('where name =:name ');
> > sql.add('and teachar='''+teachar+'''');
> > sql.add('and old='''+old+'''');
> > prepare;
> > parambyname('name').asstring:='edit1.text';
> > parambyname('code').asstring:='edit2.text';
> > parambyname('teachar').asstring:='combobox2.text';
> > parambyname('old').asstring:='combobox1.text';
> > execsql;
> > showmessage('선택항목을 수정하였습니다');
> >