Q&A

  • sql에서 ( 처리에서 계속 에러가 나는데
              SQL.ADD('insert into '+t_tablename+' ''( '+t_column1+' ');
-- 여기에서도 괄호 앞뒤에 '' 넣기도 하고 빼기도 하고 ....
              if t_column2 <> '' then
                SQL.ADD(', '+t_column2+' ');
              if t_column3 <> '' then
                SQL.ADD(', '+t_column3+' ');
              if t_column4 <> '' then
                SQL.ADD(', '+t_column4+' ');
              if t_column5 <> '' then
                SQL.ADD(', '+t_column5+' ');
              SQL.ADD(' ) values  ( '''+sglist.cells[1, x]+''' ');
---  괄호 앞뒤로 ''를 해보기도하고 한군데만 하기도 했는데 마찬가지입니다.
              if t_column2 <> '' then
                SQL.ADD(', '''+sglist.cells[2, x]+'''  ');
              if t_column3 <> '' then
                SQL.ADD(', '''+sglist.cells[3, x]+'''  ');
              if t_column4 <> '' then
                SQL.ADD(', '''+sglist.cells[4, x]+'''  ');
              if t_column5 <> '' then
                SQL.ADD(', '''+sglist.cells[5, x]+'''  ');
              SQL.ADD(' )'' ');
--- 여기도 마찬가디로 앞뒤 ''를 넣기도하고 없애기도 하고
어떻게 코딩을 해야하는지  도움부탁드립니다.
Parmeters.Parambyname을 사용해도 마찬가지로 에러가 나네요..
4  COMMENTS
  • Profile
    박홍재 2006.07.12 03:24
    SQL 에서 문자Type의 입력시 " 을 사용하시는 것이 아니라 ''' 으로 '을 3번 사용하셔야 합니다.
    문장으로 봐서 다음과 같이 바꾸셔야 할거 같네요.
    이렇게 바뀌어야 하지 않을까 보입니다. " 이 아니라 '을 ''' (세번) 하는 겁니다. 그럼.
  • Profile
    최용일 2006.07.11 01:49
    안녕하세요. 최용일입니다.

    if문을 하나도 안탔을때
    insert into t_tablename '( t_column1) values  ( ' sglist.cells[1, x] ')'

    따옴표의 남발로 위와 같은 이상한 SQL문이 되는군요.
    ''를 쓰시는것보다는 QuotedStr함수를 쓰시는것이 더 이해가 빠를듯하네요...

    SQL.ADD('insert into '+t_tablename+' ''( '+t_column1+' ');
    ==>SQL.ADD('insert into ' + t_tablename + ' ( ' + t_column1 + ' ');

    SQL.ADD(' ) values  ( '''+sglist.cells[1, x]+''' ');
    ===>SQL.ADD(' ) values  ( '+ QuotedStr( sglist.cells[1, x] ) + ' ');

    SQL.ADD(' )'' ');
    ===>SQL.ADD(' ) ');

    ^^ 항상 즐코하세요...

  • Profile
    문혜윤 2006.07.11 02:32


    //              SQL.ADD('insert into '+t_tablename+' ''( '+t_column1+' ');
                  if t_column2 <> '' then
                    SQL.ADD(', '+t_column2+' ');
                  if t_column3 <> '' then
                    SQL.ADD(', '+t_column3+' ');
                  if t_column4 <> '' then
                    SQL.ADD(', '+t_column4+' ');
                  if t_column5 <> '' then
                    SQL.ADD(', '+t_column5+' ');
                  SQL.ADD(' ) values  ( '+ QuotedStr( sglist.cells[1, x] ) + ' ');
    //              SQL.ADD(' ) values  ( '''+sglist.cells[1, x]+''' ');
                  if t_column2 <> '' then
                    SQL.ADD(', '''+sglist.cells[2, x]+'''  ');
                  if t_column3 <> '' then
                    SQL.ADD(', '''+sglist.cells[3, x]+'''  ');
                  if t_column4 <> '' then
                    SQL.ADD(', '''+sglist.cells[4, x]+'''  ');
                  if t_column5 <> '' then
                    SQL.ADD(', '''+sglist.cells[5, x]+'''  ');
                  SQL.ADD(' ) ');
    //              SQL.ADD(' )'' ');

    이렇게 코딩을 바꿨는데도 "Line 1 : Incorrect syntax near '(' "라고 나오는데...  다시 조언좀 부탁합니다.
  • Profile
    최용일 2006.07.11 06:16
    안녕하세요. 최용일입니다.

    글쎄요. 특별히 에러날 이유는 없을것 같은데...

    변수들에 값이 제대로 들어가지 않았을것 같네요...

    맨마지막에

    ShowMessage(SQL.Text);

    로 다이얼로그 띄위서 SQL이 제대로 됐는가 확인해보세요...

    ^^ 항상 즐코하세요...