Q&A

  • Query에 관한 질문입니다.
지금 제가 회사에서 사용할 프로그램을 하나 짜고 있는데요,,,,
서버는 IBM AS/400이고 DB는 DB2입니다.
이걸 델파이에서 만든 화면을 통해 DB2에 입력하고자 합니다.
물론 ODBC는 연결해 놓았구요...
근데 이걸 실행하고 싶은데요,, 보통 INSERT나 UPDATE할때 쿼리문 젤 끝에 EXEXSQL을 쓰잖아요,,,
select 할때는 open이구요...
근데 제가 만든 쿼리에서는 EXECSQL부분에서 에러가 나거든요,,
혹시 DB2에 INSERT할 경우에 EXECSQL을 사용하지 않고 다른 명령어로 실행을 시키나요?
제가 만든 쿼리도 올립니다.
Showmessage는 어디서 에러가 나는지 볼려고 해서 썼어요,,,완전 노가다 초짜쬬..?
실행을 해 보니 21번이 나타나고 에러가 뜨거든요,,,그럼 그 담 문장인 EXECSQL에서 에러가 나는 거잖아요....좀 도와주세요,,,
EX)  with Query3 do
    begin
    Close;
    Sql.Clear;
    Sql.Add(' INSERT INTO MKFLIB.CMCMMS      ');
    Sql.Add('  Values  ( :CMDLKB,            ');
    Sql.Add('            :CMKUCD,            ');
    Sql.Add('            :CMCODE,            ');
    Sql.Add('            :CMSQNO,            ');
    Sql.Add('            :CMNAME,            ');
    Sql.Add('            :CMSDAY,            ');
    Sql.Add('            :CMEDAY,            ');
    Sql.Add('            :CMBMCD,            ');
    Sql.Add('            :CMSHCD,            ');
    Sql.Add('            :CMSCCD,            ');
    Sql.Add('            :CMSHNM,            ');
    Sql.Add('            :CMSQTY,            ');
    Sql.Add('            :CMMAKE,            ');
    Sql.Add('            :CMAMT,             ');
    Sql.Add('            :CMIPDT,            ');
    Sql.Add('            :CMUPDT,            ');
    Sql.Add('            :CMFLA1,            ');
    Sql.Add('            :CMFLA2,            ');
    Sql.Add('            :CMFLA3,            ');
    Sql.Add('            :CMFLA4,            ');
    Sql.Add('            :CMFLA5             ');
    ParamByName('CMDLKB').AsString   := ' ';
    showmessage('1');
    ParamByName('CMKUCD').AsInteger           := 001;
    showmessage('2');
    ParamByName('CMCODE').AsString            := Edit1.Text;
    showmessage('3');
    ParamByName('CMSQNO').AsInteger           := 1;
    showmessage('4');
    ParamByName('CMNAME').AsString            := Edit2.text;
    showmessage('5');
    ParamByName('CMSDAY').AsInteger           := StrToInt(Edit6.Text);
    showmessage('6');
    ParamByName('CMEDAY').AsInteger           := StrToInt(Edit7.Text);
    showmessage('7');
    ParamByName('CMBMCD').AsInteger  := Query1.FieldByName('GBBMCD').AsInteger;
    showmessage('8');
    ParamByName('CMSHCD').AsInteger  := Query1.FieldByName('GBSHCD').AsInteger;
    showmessage('9');
    ParamByName('CMSCCD').AsString   := Edit3.Text;
    showmessage('10');
    ParamByName('CMSHNM').AsString   := Query1.FieldByName('GBSHN2').AsString;
    showmessage('11');
    ParamByName('CMSQTY').AsInteger  := StrToInt(Edit4.Text);
    showmessage('12');
    ParamByName('CMMAKE').AsString       := Copy(Edit3.Text,1,7);
    showmessage('13');
    ParamByName('CMAMT').AsInteger            := StrToInt(Edit5.Text);
    showmessage('14');
    ParamByName('CMIPDT').AsInteger  := StrToInt(UndateText(DateToStr(Date)));
    showmessage('15');
    ParamByName('CMUPDT').AsInteger  := StrToInt(UndateText(DateToStr(Date)));
            showmessage('16');
            ParamByName('CMFLA1').AsString            := '';
            showmessage('17');
            ParamByName('CMFLA2').AsInteger           := 0;
            showmessage('18');
            ParamByName('CMFLA3').AsString            := '';
            showmessage('19');
            ParamByName('CMFLA4').AsInteger           := 0;
            showmessage('20');
            ParamByName('CMFLA5').AsInteger           := 0;
            showmessage('21');
            ExecSql;
            End;
            Query6.open;
            Exit;
        end;
5  COMMENTS
  • Profile
    성더기 2003.11.10 22:40
    ..
  • Profile
    김정모 2003.11.10 22:52
    제 질문에 관심을 가져주셔서 감사합니다.
    님의 말씀대로 괄호가 빠졌다면 컴파일에서 에러가 났겠죠..?
    컴파일이 되는 걸로 봐서는 문법적오류는 아닌듯 합니다.
  • Profile
    성더기 2003.11.10 23:09
    쿼리문안의 괄호 그러니까 values 의 마지막 괄호말입니다
    그러니까
    Sql.Add('            :CMFLA5             '); 이넘이
    Sql.Add('            :CMFLA5             )'); 로 되어야할 거 같네여...^^

  • Profile
    김정모 2003.11.10 23:58
    감사합니다. 괄호가 빠진것도 모르고 헤메고 있었군요...
    덕분에 해결했네여..
    왜 제가 볼때는 괄호가 빠진게 안보일까요...(?)ㅎㅎㅎ

  • Profile
    김종성 2003.11.11 22:24
    정말 유용한 정보에 감사합니다.