Q&A

  • 컴파일은 되는데.... 에러가...
with Query1 do   begin
    close;
    SQL.Clear;
    SQL.add('insert into tblgreat');
    SQL.add('(S_Name, S_Tel, S_Addr)');
    SQL.add('values');
    SQL.add( (:S_Name, :S_Tel, :S_Addr)');    
    ParamByName('S_Name').AsString := Trim(Edit1.Text);
    ParamByName('S_Tel').AsString := Trim(Edit2.Text);
    ParamByName('S_Addr').AsString := Trim(Edit3.Text);
    try
      ExecSQL;
      ShowMessage(' 추가되었습니다.');
    except
      showmessage('DB 탓 하지 마세요');
    end;
end;
--------------------------------------------------------------------
Query1.SQL에는 select * from tblgreat where name = :S_Name ...이렇게적었습니다.

우선 에러 메세지 내용이...
------------------------------------------------------------------
[Microsoft][ODBC SQL Server Driver][SQL Server]열 이름 'S_Name'이
잘못되었습니다. 'Process Stopped. Use Step or Run to Continue.
------------------------------------------------------------------
이런 에러 메세지가 나옵니다.
근데 궁금한것은... 파람에서 Properties에서 DataType는 어떤일을 하며 또
어떤 것을 선택해야할지... 우선 제가 입력하는것은 문자(String) 입니다.
글구 ParamType또한 어떤 것을 선택을 해야할지...
Value는 검색부분에서 사용하는거 같구.... 글구 Editting에서는 추가가 왜 안돼져? 님의 많은 조언 부탁드립니다.
4  COMMENTS
  • Profile
    최은석 2003.03.28 20:10
    tblgreat 테이블에 실제로 존재하는 필ㄷ명을 적으셔야죠..
    SQL.add('(S_Name, S_Tel, S_Addr)');
    이 부분에서 필드명이 잘못되었네여..
    테이블의 필드명을 확인해보세여.....

    with Query1 do   begin
        close;
        SQL.Clear;
        SQL.add('insert into tblgreat');
        SQL.add('(S_Name, S_Tel, S_Addr)');
        SQL.add('values');
        SQL.add( (:SName, :STel, :SAddr)');    
        ParamByName('S_Name').AsString := Trim(Edit1.Text);
        ParamByName('S_Tel').AsString := Trim(Edit2.Text);
        ParamByName('S_Addr').AsString := Trim(Edit3.Text);
        try
          ExecSQL;
          ShowMessage(' 추가되었습니다.');
        except
          showmessage('DB 탓 하지 마세요');
        end;
    end;


  • Profile
    박경태 2003.03.27 21:04
    이렇게 해 보세요
    with Query1 do   begin
                             Trim(Edit2.Text) + ',' + Trim(Edit3.Text) +')');    



  • Profile
    최은하 2003.03.27 23:41
    그래두 안되는데여! 굴구 Query1.SQL문에 ...
    ______________________________________________________
    select * from tblgreat where number = :S_Num
                                            name = :S_Name
                                            address = :S_addr
                                            tel = :S_tel
                                            memo = :S_memo
    -----------------------------------------------------
    이렇게 써놓구 Query1.Active를 True로 바꾸려고 하는데 안되더라구여!
    뭐 다른 문제가 있다여? 글구 아래코드와 똑같이 했습니다.
    정말 답답하네여!! 소스도 드릴수있는데 봐주실수있나여! 정말 답답합니다.
    몇시간째 해보고있는데 ㅡ.ㅡ; 어제부터...

  • Profile
    최남선 2003.03.28 03:25
    아래의 select가 안되는 문제는 where 다음에 조건 and 조건... 과 같이
    조건 논리 연산자가 빠졌구요...
    insert문에서 이상한점은 select에서 사용한 열들(number, name, address,
    tel, memo)랑 다르네요. 어떤게 맞는건지 확인해보시구요.
    혹시
    SQL.add('insert into tblgreat');
    SQL.add('(name, tel, address)');
    SQL.add('values');
    SQL.add( (:S_Name, :S_Tel, :S_Addr)');    
    이렇게 하셔야 되는게 아닌지 함 해보세요.