Q&A

  • SQL 소스의 실행 이상 원인을 찾아주세요. (파라미터(Parameter) 사용)
이것 좀 봐주세영.. 모가 틀린거졍...



파라미터에 name이란것을 찾을수강 없다궁 에러가 나영...



procedure TForm1.Button2Click(Sender: TObject);

begin

if edit2.text = '' then

begin

showMessage('수정할 고객 이름을 입력하세여');

exit;

end;

with Query1 do

begin

close;

sql.clear;

SQL.add('update chan');

sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart =: depart');

sql.add('where no =: "'+edit1.text+'"');



parambyname('no').asstring := edit1.text;

parambyname('name').asstring := edit2.text;

parambyname('jumin').asstring := maskedit1.text;

parambyname('tel').asstring := edit3.text;

parambyname('depart').asstring := edit4.text;

execsql;

open;

showmessage('고객정보를 수정하였숩나더.');

end;

guest_clear;

Query_list;

edit1.setfocus;



procedure query_list;

begin

with form1.Query1 do

begin

sql.clear;

sql.add('select * from chan');

open;

active := true;

end;

end;





procedure guest_clear;

begin

form1.Edit1.clear;

form1.Edit2.clear;

form1.maskEdit1.clear;

form1.Edit3.clear;

form1.Edit4.clear;



end;



그리구영.. 이 프로그램은여.. 수정할 사람을 디비그리드안에서 선택해서...



에디트에 수정할것을 적은다멩.. 수정버튼을 누르면 수정되는 프로그램인데...



수정버튼을 누른다음에 그 사람의 고유번호를 고르고...



갱신버튼을 누르는 프로그램을 구현하려면..



어떻게 해야하는징.. 갈켜주세영...



이은혜 평생 잊지 않겠습니당..





3  COMMENTS
  • Profile
    윤유섭 2000.08.22 04:18
    sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart

    ^

    이 부분에 공백이 있네요 이것때문인것 같은데...?









    박찬희 wrote:

    > 이것 좀 봐주세영.. 모가 틀린거졍...

    >

    > 파라미터에 name이란것을 찾을수강 없다궁 에러가 나영...

    >

    > procedure TForm1.Button2Click(Sender: TObject);

    > begin

    > if edit2.text = '' then

    > begin

    > showMessage('수정할 고객 이름을 입력하세여');

    > exit;

    > end;

    > with Query1 do

    > begin

    > close;

    > sql.clear;

    > SQL.add('update chan');

    > sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart =: depart');

    > sql.add('where no =: "'+edit1.text+'"');

    >

    > parambyname('no').asstring := edit1.text;

    > parambyname('name').asstring := edit2.text;

    > parambyname('jumin').asstring := maskedit1.text;

    > parambyname('tel').asstring := edit3.text;

    > parambyname('depart').asstring := edit4.text;

    > execsql;

    > open;

    > showmessage('고객정보를 수정하였숩나더.');

    > end;

    > guest_clear;

    > Query_list;

    > edit1.setfocus;

    >

    > procedure query_list;

    > begin

    > with form1.Query1 do

    > begin

    > sql.clear;

    > sql.add('select * from chan');

    > open;

    > active := true;

    > end;

    > end;

    >

    >

    > procedure guest_clear;

    > begin

    > form1.Edit1.clear;

    > form1.Edit2.clear;

    > form1.maskEdit1.clear;

    > form1.Edit3.clear;

    > form1.Edit4.clear;

    >

    > end;

    >

    > 그리구영.. 이 프로그램은여.. 수정할 사람을 디비그리드안에서 선택해서...

    >

    > 에디트에 수정할것을 적은다멩.. 수정버튼을 누르면 수정되는 프로그램인데...

    >

    > 수정버튼을 누른다음에 그 사람의 고유번호를 고르고...

    >

    > 갱신버튼을 누르는 프로그램을 구현하려면..

    >

    > 어떻게 해야하는징.. 갈켜주세영...

    >

    > 이은혜 평생 잊지 않겠습니당..

    >

    >

  • Profile
    박찬희 2000.08.22 04:19
    붙여봤더니 이번엔 또 다른 에러가 뜨네여...



    수정부분에서...



    open...부분...



    어떻게 좀 해주세영

    윤유섭 wrote:

    > sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart

    > ^

    > 이 부분에 공백이 있네요 이것때문인것 같은데...?

    >

    >

    >

    >

    > 박찬희 wrote:

    > > 이것 좀 봐주세영.. 모가 틀린거졍...

    > >

    > > 파라미터에 name이란것을 찾을수강 없다궁 에러가 나영...

    > >

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

    > > begin

    > > if edit2.text = '' then

    > > begin

    > > showMessage('수정할 고객 이름을 입력하세여');

    > > exit;

    > > end;

    > > with Query1 do

    > > begin

    > > close;

    > > sql.clear;

    > > SQL.add('update chan');

    > > sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart =: depart');

    > > sql.add('where no =: "'+edit1.text+'"');

    > >

    > > parambyname('no').asstring := edit1.text;

    > > parambyname('name').asstring := edit2.text;

    > > parambyname('jumin').asstring := maskedit1.text;

    > > parambyname('tel').asstring := edit3.text;

    > > parambyname('depart').asstring := edit4.text;

    > > execsql;

    > > open;

    > > showmessage('고객정보를 수정하였숩나더.');

    > > end;

    > > guest_clear;

    > > Query_list;

    > > edit1.setfocus;

    > >

    > > procedure query_list;

    > > begin

    > > with form1.Query1 do

    > > begin

    > > sql.clear;

    > > sql.add('select * from chan');

    > > open;

    > > active := true;

    > > end;

    > > end;

    > >

    > >

    > > procedure guest_clear;

    > > begin

    > > form1.Edit1.clear;

    > > form1.Edit2.clear;

    > > form1.maskEdit1.clear;

    > > form1.Edit3.clear;

    > > form1.Edit4.clear;

    > >

    > > end;

    > >

    > > 그리구영.. 이 프로그램은여.. 수정할 사람을 디비그리드안에서 선택해서...

    > >

    > > 에디트에 수정할것을 적은다멩.. 수정버튼을 누르면 수정되는 프로그램인데...

    > >

    > > 수정버튼을 누른다음에 그 사람의 고유번호를 고르고...

    > >

    > > 갱신버튼을 누르는 프로그램을 구현하려면..

    > >

    > > 어떻게 해야하는징.. 갈켜주세영...

    > >

    > > 이은혜 평생 잊지 않겠습니당..

    > >

    > >

  • Profile
    윤유섭 2000.08.22 04:19
    SQL.add('update chan');

    sQl.add('set no =:no, name =: name, jumin =:jumin, tel =:tel, depart =: depart');

    --> set no = :no, name = :name, jumin =:jumin, tel = :tel, depart = :depart

    --> :과 parameter사이에 떨어지면 안되요.

    --> : name -> :name : depart -> :depart



    sql.add('where no =: "'+edit1.text+'"');

    --> no =: -> no =로 바꾸시고요

    --> no가 Char, VarChar2값인가요 확인해보세요 숫자면 "도 빼시구



    parambyname('no').asstring := edit1.text;

    parambyname('name').asstring := edit2.text;

    parambyname('jumin').asstring := maskedit1.text;

    parambyname('tel').asstring := edit3.text;

    parambyname('depart').asstring := edit4.text;