try
qryUser.Close;
with qryUser do begin
sql.Clear;
SQL.Add('INSERT INTO USERS(USERID,UNAME,PASSWD,RDATE,TYPE)');
SQL.Add(' VALUES(:u_id, :u_name, :u_pwd, :u_date, :u_type)');
ParamByName('u_id').AsString:=edtUid.text;
ParamByName('u_name').AsString:=edtUname.text;
ParamByName('u_pwd').AsString:=edtUpwd.text;
if length(cbxMon.Text)<=1 then
sMon := '0'+cbxMon.text
else
sMon := cbxMon.text;
if length(cbxDay.Text)<=1 then
sDay := '0'+cbxDay.text
else
sDay := cbxDay.text;
ParamByName('u_date').AsString:=edtYear.text+'-'+sMon+'-'+sDay;
iType:=cbxType.ItemIndex;
ParamByName('u_type').AsString:=inttostr(iType);
ExecSql; //sql문 실행
end // with
except
showmessage('입력중 오류발생');
end; // try
qryUser.close;
qryUser.open; ---> 왕초보지만 나름대로 디버깅을 해보니 여기서
Table is read only 라는 오류메세지가 뜹니다
쿼리컴포넌트에서는 Refresh 메소드를 사용할 수 없으니
쿼리를 닫았다가 다시 열어야 한다고 해서 저렇게 했는데 왜 오류가 나는건지
잘 모르겠습니다...
아시는분~ 쩜 갈쳐주세요~~~
입력문에 open이 들어 왔네엽....open은 조회시 사용함돠...^^;;
대충 고쳐봤는디... 이렇게 하면 될거 같네엽....^^ open은 select 문에서 사용하시길.. 그리고 close는 ↓ 아래와 같이 쿼리문 작성시에 한번만 사용해주시면 되겠죠 ^^ 두번씩 사용할 필욘 없슴돠...
그럼 즐프 ^^
with qryUser do begin
Close;
sql.Clear;
SQL.Add('INSERT INTO USERS(USERID,UNAME,PASSWD,RDATE,TYPE)');
SQL.Add(' VALUES(:u_id, :u_name, :u_pwd, :u_date, :u_type)');
ParamByName('u_id').AsString:=edtUid.text;
ParamByName('u_name').AsString:=edtUname.text;
ParamByName('u_pwd').AsString:=edtUpwd.text;
if length(cbxMon.Text)<=1 then
sMon := '0'+cbxMon.text
else
sMon := cbxMon.text;
if length(cbxDay.Text)<=1 then
sDay := '0'+cbxDay.text
else
sDay := cbxDay.text;
ParamByName('u_date').AsString:=edtYear.text+'-'+sMon+'-'+sDay;
iType:=cbxType.ItemIndex;
ParamByName('u_type').AsString:=inttostr(iType);
try
ExecSql; //sql문 실행
showmessage('입력완료!');
except
showmessage('입력중 오류발생');
end; // try
end; // with