Q&A

  • Query문좀 봐주세요
다음과 같은 Query문을 수행하려 합니다...
그러나 너무 길이가 길어서 줄바꿈을 해서 작성했더니.. 컴파일 오류가 뜹니다..
한줄로 조금씩 짤라서 작성하면 오류가 안뜨는데.. 줄바꿈해서 하면 오류가 뜨는군요..
그리고 한줄에 쓸 수 있는 글자수가 한정되어 있어서.. 및의 query문을 적용할 수가 없네요..

글자 이어주는 어떠한 문자가 있는건가요??
해결방법좀 제시해 주세요...  ㅠㅠ


==========================================================================================

       with DM.QR_Gateway_Sql do
       begin
         Close;
         SQL.Clear;
         SQL.Add('insert into APEMS_GATEWAY');
         SQL.Add('values('''+ED_H323_ID.text+''','''+CB_AREA_CODE.text+''','''+ED_MAC_ADDRESS.text+''','''''','''''','''+ED_GK_IP_P.text+''' ,'''+ED_GK_IP_S.text+''',
'''''','''''','''''','''+ED_Password.text+''','''+ED_H323_Password.text+''','''''','''''','''+'irst send time'+''','''+ED_USER_NAME.text+''',
'''+ED_TELEPHONE.text+''','''+ED_ADDRESS.text+''','''+ED_EMAIL.text+''','''''',
'''+Cells[0,1]+''','''+Cells[0,2]+''','''+Cells[0,3]+''','''+Cells[0,4]+''','''+Cells[0,5]+''','''+Cells[0,6]+''','''+Cells[0,7]+''','''+Cells[0,8]+''','''+Cells[0,9]+''','''+Cells[0,10]+''',
'''+Cells[0,11]+''','''+Cells[0,12]+''','''+Cells[0,13]+''','''+Cells[0,14]+''','''+Cells[0,15]+''','''+Cells[0,16]+''','''+Cells[0,17]+''','''+Cells[0,18]+''','''+Cells[0,19]+''','''+Cells[0,20]+''',
'''+Cells[0,21]+''','''+Cells[0,22]+''','''+Cells[0,23]+''','''+Cells[0,24]+''','''+Cells[0,25]+''','''+Cells[0,26]+''','''+Cells[0,27]+''','''+Cells[0,28]+''','''+Cells[0,29]+''','''+Cells[0,30]+''',
'''+Cells[0,31]+''','''+Cells[0,32]+''','''+Cells[0,33]+''','''+Cells[0,34]+''','''+Cells[0,35]+''','''+Cells[0,36]+''','''+Cells[0,37]+''','''+Cells[0,38]+''','''+Cells[0,39]+''','''+Cells[0,40]+''',
'''+Cells[0,41]+''','''+Cells[0,42]+''','''+Cells[0,43]+''','''+Cells[0,44]+''','''+Cells[0,45]+''','''+Cells[0,46]+''','''+Cells[0,47]+''','''+Cells[0,48]+''','''+Cells[0,49]+''','''+Cells[0,50]+''',
'''+Cells[0,51]+''','''+Cells[0,52]+''','''+Cells[0,53]+''','''+Cells[0,54]+''','''+Cells[0,55]+''','''+Cells[0,56]+''','''+Cells[0,57]+''','''+Cells[0,58]+''','''+Cells[0,59]+''','''+Cells[0,60]+'''
)');

         Open;


       end;  // with
2  COMMENTS
  • Profile
    깨구락지 2003.03.13 11:11
    parambyname 을 쓰는것이 간단하겠군요.

    sql.add('insert into APEMS_GATEWAY');
    sql.add('values (:field1,:field2,....)');
    Parambyname('field1').AsString:=ED_H323_ID.text;
    Parambyname('field2').AsString:=CB_AREA_CODE.text;
    ...
    execsql; //insert 문에는 open 을 쓰면 안되겠죠?


  • Profile
    임옥섭 2003.03.13 20:08
    깨구락지 님의 말씀대로 하는 것이 정석?일것 같고요
    델파이에서 Dynamic과 Static SQL을 어떻게 구현하는지 모르지만
    보통 파라미터 방식을 쓰면 Static이 되어 서버단의 파싱부하가 줄어 들므로..
    자주 사용되는 SQL이면.. 파라마터 방식으로 사용하시는것이
    좋습니다. <- 오라클 기준으로 ->

    님께서 말씀한 글자이어주는 문자는 C에서 ""를 말씀하시는 듯한데.
    제가 테스트 해보기론.. 그냥.. 됩니다. 스크링을 정확하게 끝낸다면요
    예를 들면
    ShowMessage('1234' +
    '9876');
    ShowMessage('1234'
    + '9876');
    은 컴파일되고
    ShowMessage('1234
    9876');
    은 컴파일 오류네요

    아마 컴파일 오류가 난것은 '''를 사용하면서 짝이 안맞는듯
    굳이 다이나믹을 사용하신다면 이런 경우 그냥
    for문으로 돌리는 것이 눈이 덜 아플듯합니다.

    즐코하시길.