Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[10200] Re:Re:[질문]초짜의 비애-- 도와주세요. 안의 소스에서 update 구문오류가 뜹니다.. 제발좀 조언바랍니다.
백승진 [jinkebi] 1092 읽음    2005-08-23 09:59
감사합니다.. 이런 기초적인 실수를 하다니.. 역시 초짜의 비애군요..
acces와 오라클의 차이점이군요
오라클에서는 필드네임에 문제가 없었는데,
access로 마이그레이션 시키면서 return, memo 를 필드네임으로 쓰면 에러가 나네요.
덕분에 해결되었습니다.


박지훈.임프 님이 쓰신 글 :
: 액세스에서 쓰는 SQL문은 기본적으로 SQL서버와 같을텐데...
: 보여주신 업데이트문 정도는 너무나 단순해서 오라클과의 문법의 차이로 인해서 구문 에러가 나는 건 아닐 겁니다.
: 보통 이렇게 단순한 쿼리에서 에러가 나면 먼저 의심해봐야 할 것이 키워드를 사용한 것이 아닌가 하는 건데...
: 저도 여러 디비에서 쓰는 SQL 키워드를 다 아는 게 아니라서 자신은 없습니다만.. 눈에 띄는 것이, floor네요.
: floor는 SQL서버의 수학 함수 리스트에 있는 걸로 알고 있습니다.
:
: 해당 floor 필드가 not null이 아니라면 테이블을 고치고 어쩌구 하실 필요 없이 그냥 floor=:p3 부분과 아래의 파라미터값
: 할당 라인을 주석처리하고 다시 해보세요. 그래도 에러가 난다면 마찬가지로 의심스러운 필드명을 하나씩 제외하면서
: 해보시기 바랍니다.
:
: 그럼...
:
:
: jinkebi 님이 쓰신 글 :
: : 아래 프로시져는 오라클에서는 정상적으로 동작합니다.
: : 근대 ado를 써서 access db로 실행하면  update 구문오류라고 나오네요..
: : 고수님들 원인좀 찾아주세요.
: :
: :
: : procedure TfmMainAdm.btnUpdateOkClick(Sender: TObject);
: : var ss: string;
: : begin
: :     with dm.qrlUpdate do begin
: :       close;
: :       sql.clear;
: :       sql.add('update main set kukname = :p1, deptname = :p2         ');
: :       sql.Add(' ,floor = :p3, eqid = :p4, eqmodel = :p5              ');
: :       sql.add(' ,eqGubun = :p6, adminNo = :p7, adminsn = :p8         ');
: :       sql.add(' ,muser = :p9, return = :p10, inDate = :p11           ');
: :       sql.add(' ,memo = :p12, etc1 = :p13, etc2 = :p14, etc3 = :p15  ');
: :       sql.add('where id= :p16                   ');
: :       parameters.parambyname('p1').value:= cbKukname.Text;
: :       parameters.parambyname('p2').value:= cbDeptname.text;
: :       parameters.parambyname('p3').value:= cbFloor.text;
: :       parameters.parambyname('p4').value:= Uppercase(eEqid.text);
: :       parameters.parambyname('p5').value:= Uppercase(eEqmodel.text);
: :       parameters.parambyname('p6').value:= cbEqgubun.text;
: :       parameters.parambyname('p7').value:= Uppercase(eAdminNo.text);
: :       parameters.parambyname('p8').value:= Uppercase(eEqSn.text);
: :      parameters.parambyname('p9').value:= Uppercase(eUser.text);
: :
: : ...
: :       parameters.parambyname('p16').value:= strtoint(eid.Text);
: :
: :       try
: :           ExecSQL;
: :        except on E:EDatabaseError do begin
: :          showmessage('수정 작업중 에러발생' +#13#10+ E.Message);
: :          end;
: :       end;
: : (이하생략)

+ -

관련 글 리스트
10198 [질문]초짜의 비애-- 도와주세요. 안의 소스에서 update 구문오류가 뜹니다.. 제발좀 조언바랍니다. jinkebi 1110 2005/08/20
10199     Re:[질문]초짜의 비애-- 도와주세요. 안의 소스에서 update 구문오류가 뜹니다.. 제발좀 조언바랍니다. 박지훈.임프 1132 2005/08/23
10200         Re:Re:[질문]초짜의 비애-- 도와주세요. 안의 소스에서 update 구문오류가 뜹니다.. 제발좀 조언바랍니다. 백승진 1092 2005/08/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.