Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
sqlcode를 어떻게 사용해야 하나요??
Sql 실행후 리턴되는 SqlCode를 프로그램에서 사용할려면 어떻게 해야 하나요??
각 코드값마다 메세지를 부여할려고 하는데, EDataBaseError나 EIBError를 사용시
델파이에서 제공하는 메세지가 뜨고, error control이 되지 않는것 같습니다.
고수님들의 조언 부탁드립니다.
1
COMMENTS
lspark
•
2000.07.22 19:47
김대식 wrote:
> Sql 실행후 리턴되는 SqlCode를 프로그램에서 사용할려면 어떻게 해야 하나요??
>
> 각 코드값마다 메세지를 부여할려고 하는데, EDataBaseError나 EIBError를 사용시
>
> 델파이에서 제공하는 메세지가 뜨고, error control이 되지 않는것 같습니다.
>
> 고수님들의 조언 부탁드립니다.
======== 저두 고수가 아닌디 답변해두 되나요 ? ============================
!!!!! 제가쓰고있는 DB 관련 SOURCE CODE 입니다.
도움이 되셨으면 좋겠습니다. 즐겁게 일 하세요.... !!!!!!!!!!!!!!!!!!!!
sTemp := 'INSERT INTO TABLE_개똥이 ( SPEC, SPEC_NO, MAX_QTY ) VALUES ( '
+ ' '''+ SPEC.Text +''' '
+ ' , '''+ SPEC_NO.Text +''' '
+ ' , ' + FloatToStr(MAX_QTY.Value) + ' )';
FRM_LOGIN.DB1.StartTransaction;
cError := RUN_SQL(sTemp, 'DB1');
If cError <> 0 Then Begin
Frm_LOGIN.DB1.RollBack;
If cError = 9729 Then Begin
MSG.Caption := '이미 등록된 품목코드 입니다.';
SPEC.SetFocus;
Exit;
End;
MessageBox(self.handle,PChar(sMsg),'오류',MB_OK);
SPEC.SetFocus;
Exit;
End;
FRM_LOGIN.DB1.Commit;
MSG.Caption := '등록이 완료 되었습니다.';
//============================================================================//
// SQL STATMENT 를 실행하고 DB CODE 를 RETURN 한다. (GENERAL EXEC SQL) //
//============================================================================//
Function RUN_SQL(const mSQL, DB_NAME : String) : Integer;
Var
TmpQuery : TQuery;
Begin
TmpQuery := TQuery.Create(Application);
TmpQuery.DataBaseName := DB_NAME;
TmpQuery.SQL.Text := Trim(mSQL);
Try
TmpQuery.ExecSQL;
Result := 0;
Except
On E : EDBEngineError Do Begin
Result := ErrorRoutine(E);
sMsg := sMsg + #13 + #13 +mSQL;
End;
End;
TmpQuery.Destroy;
End;
//============================================================================//
// SQL 실행시 DB ErrorCode 와 Error Message Return //
//============================================================================//
Function ErrorRoutine(const E : EDBEngineError) :Integer;
Begin
sMsg := IntToStr(E.Errors[0].ErrorCode) + ' - '
+ IntToStr(E.Errors[0].NativeError) + ' : '
+ E.Errors[0].Message;
Result := E.Errors[0].ErrorCode;
MessageBeep(0);
End;
======이상임다=====
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
사발우성
•
2000.07.08 00:33
5
COMMENTS
/
0
LIKES
고수님들 도와줘엽 help me 구창민싸부 도와줘엽...^^
구창민
•
2000.07.08 01:44
사발우성 wrote: > > 음 리스트박스에 여러개의 값들을 출력할 수 있나엽.. > > 전 1개 밖에 출력...
사발우성
•
2000.07.08 02:05
구창민 wrote: > 사발우성 wrote: > > > > 음 리스트박스에 여러개의 값들을 출력할 수 있나엽.. > >...
사발우성
•
2000.07.08 01:22
while not query1.Eof do begin k:=query1.fieldbyname('조치내역')...
이재원
•
2000.07.08 01:32
안녕하세요. 그런경우엔 ListBox보단 ListView를 Report Style로 쓰시는게 더 날거 같은데용. ...
사발우성
•
2000.07.08 02:33
^^ 리스트뷰 어떻게 사용하나엽 listview1.Columns[0].Caption:='kek0'; listview1....
이진배
•
2000.07.07 23:15
1
COMMENTS
/
0
LIKES
하드디스크 고유번호 알아내기
이상우
•
2000.07.08 00:04
이진배 wrote: > 하드디스크 고유 시리얼번호을 어떻게 찾아 내는지 알고 싶습니다. > 여러 고수님들의 ...
원령
•
2000.07.07 23:04
1
COMMENTS
/
0
LIKES
컴에 있는 윈도우의 시스템디렉토리를 어떻게 찾죠..?
최석기
•
2000.07.07 23:41
원령 wrote: > 안녕하세요.. > > 요즘들어 질문을 많이 하게 되네요.. > > windows의 system디렉토...
허브
2000.07.07 22:37
0
COMMENTS
/
0
LIKES
[급 :stringGrid ] 각 Cell에서 enter key 처리
철
2000.07.07 21:53
0
COMMENTS
/
0
LIKES
oracle 과 delphi가 이상해요!!!
델초...
2000.07.07 22:32
0
COMMENTS
/
0
LIKES
쓰레드에 관해서...
김만성
2000.07.07 21:22
0
COMMENTS
/
0
LIKES
nt와 2000에서의 차이점은 없나요?
델처버
•
2000.07.08 00:56
1
COMMENTS
/
0
LIKES
퀵리포트, 디비에 저장후 미리보기하면 최신데이터 안나옵니다. ㅡ,.ㅡa
델처버
•
2000.07.08 02:49
델처버 wrote: > 디비는 액세스를 쓰고 있습니다. > > 입력후에 바로 미리보기를 했더만 미리보기에서 ...
오종환
2000.07.07 20:46
0
COMMENTS
/
0
LIKES
컴파일환경
서병인
•
2000.07.07 20:46
2
COMMENTS
/
0
LIKES
특정일자 두값의 차이를 월수로 계산하는 방법 좀...
무명
•
2000.07.07 22:59
서병인 wrote: > 특정일자 두개의 일자차이를 월수로 계산하는 방법이 있나요.. > 부탁드립니다. 여기...
임형호
•
2000.07.07 22:45
서병인 wrote: > 특정일자 두개의 일자차이를 월수로 계산하는 방법이 있나요.. > 부탁드립니다. 전에...
어린왕자
2000.07.07 20:37
0
COMMENTS
/
0
LIKES
지금 바로 영문버전으로 만들어야하는데..
홍광기
2000.07.07 19:58
0
COMMENTS
/
0
LIKES
BDE 5.01에서 dbase 버전이 3.0으로 나오게 하려면 ?
호야
2000.07.07 19:03
0
COMMENTS
/
0
LIKES
[급]질문에 답변을....!
초보
•
2000.07.07 19:03
1
COMMENTS
/
0
LIKES
[꼭!] 수량변화..아직두 이해가 안됩니다..
parkisu
•
2000.07.09 08:37
초보 wrote: > 어제 답변을 해 주셨는데 잘 이해가 안가서 다시 올립니다. > 제가 작성하고 있는 프로그...
잠씨
•
2000.07.07 18:32
3
COMMENTS
/
0
LIKES
mdb에 암호를 걸면 왜 연결이 안되죠?
이선경
•
2000.08.16 22:48
잠씨 wrote: > 정말 급해서 다시 한번 글을 올립니다. > mdb에 암호를 건후 ADO컴퍼넌트를 사용해서 연결...
어린왕자
•
2000.07.07 20:09
잠씨 wrote: > 정말 급해서 다시 한번 글을 올립니다. > mdb에 암호를 건후 ADO컴퍼넌트를 사용해서 연결...
강민우
•
2000.07.07 19:00
DataAccess 텝에 보면 DataBase라는 컴포넌트가 있습니다. 우선 그걸 놓구 더블클릭하시면 Parameter over...
김대식
•
2000.07.07 18:22
1
COMMENTS
/
0
LIKES
sqlcode를 어떻게 사용해야 하나요??
Sql 실행후 리턴되는 SqlCode를 프로그램에서 사용할려면 어떻게 해야 하나요?? 각 코드값마다 메세지를 부여할려고 하는데, EDataBaseError나 EIBError를 사용시 델파이에서 제공하는 메세지가 뜨고, error control이 되지 않는것 같습니...
lspark
•
2000.07.22 19:47
김대식 wrote: > Sql 실행후 리턴되는 SqlCode를 프로그램에서 사용할려면 어떻게 해야 하나요?? > > ...
사발우성
•
2000.07.07 18:21
1
COMMENTS
/
0
LIKES
디비그리드에서의 삭제....
문홍철
•
2000.07.07 19:07
한 페이지만 뒤로 가보세요 거기에 걍 있거덩요. ~.*! 진짜루.. 그라고 그리드에서 특정셀을 선택하면...
톰과 제리
•
2000.07.07 11:05
1
COMMENTS
/
0
LIKES
파라독스의 강제저장
임형호
•
2000.07.07 12:00
톰과 제리 wrote: > 어플을 정장종료치 않고 강제 종료하면 디비가 저장되지 않습니다. > 인서트할때마다...
초보입니다.
2000.07.07 10:35
0
COMMENTS
/
0
LIKES
아이구~~ 또 질문이....pro*c에 대해서
초보입니다.
•
2000.07.07 10:32
1
COMMENTS
/
0
LIKES
델파이와 DB2연결에대해서
이재원
•
2000.07.07 16:30
IBM Client Access를 설치하신담에 ODBC로 연결하셔도 되는데 그건 너무느리고요. 여기 가보시면 Delphi Op...
김대식
2000/07/07 18:22
Views
311
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> Sql 실행후 리턴되는 SqlCode를 프로그램에서 사용할려면 어떻게 해야 하나요??
>
> 각 코드값마다 메세지를 부여할려고 하는데, EDataBaseError나 EIBError를 사용시
>
> 델파이에서 제공하는 메세지가 뜨고, error control이 되지 않는것 같습니다.
>
> 고수님들의 조언 부탁드립니다.
======== 저두 고수가 아닌디 답변해두 되나요 ? ============================
!!!!! 제가쓰고있는 DB 관련 SOURCE CODE 입니다.
도움이 되셨으면 좋겠습니다. 즐겁게 일 하세요.... !!!!!!!!!!!!!!!!!!!!
sTemp := 'INSERT INTO TABLE_개똥이 ( SPEC, SPEC_NO, MAX_QTY ) VALUES ( '
+ ' '''+ SPEC.Text +''' '
+ ' , '''+ SPEC_NO.Text +''' '
+ ' , ' + FloatToStr(MAX_QTY.Value) + ' )';
FRM_LOGIN.DB1.StartTransaction;
cError := RUN_SQL(sTemp, 'DB1');
If cError <> 0 Then Begin
Frm_LOGIN.DB1.RollBack;
If cError = 9729 Then Begin
MSG.Caption := '이미 등록된 품목코드 입니다.';
SPEC.SetFocus;
Exit;
End;
MessageBox(self.handle,PChar(sMsg),'오류',MB_OK);
SPEC.SetFocus;
Exit;
End;
FRM_LOGIN.DB1.Commit;
MSG.Caption := '등록이 완료 되었습니다.';
//============================================================================//
// SQL STATMENT 를 실행하고 DB CODE 를 RETURN 한다. (GENERAL EXEC SQL) //
//============================================================================//
Function RUN_SQL(const mSQL, DB_NAME : String) : Integer;
Var
TmpQuery : TQuery;
Begin
TmpQuery := TQuery.Create(Application);
TmpQuery.DataBaseName := DB_NAME;
TmpQuery.SQL.Text := Trim(mSQL);
Try
TmpQuery.ExecSQL;
Result := 0;
Except
On E : EDBEngineError Do Begin
Result := ErrorRoutine(E);
sMsg := sMsg + #13 + #13 +mSQL;
End;
End;
TmpQuery.Destroy;
End;
//============================================================================//
// SQL 실행시 DB ErrorCode 와 Error Message Return //
//============================================================================//
Function ErrorRoutine(const E : EDBEngineError) :Integer;
Begin
sMsg := IntToStr(E.Errors[0].ErrorCode) + ' - '
+ IntToStr(E.Errors[0].NativeError) + ' : '
+ E.Errors[0].Message;
Result := E.Errors[0].ErrorCode;
MessageBeep(0);
End;
======이상임다=====