Q&A

  • 쿼리 컨포넌트 사용시에 인서트 문제..?

모르는게 넘 많아서 ..--; 의지할 곳은 여기뿐이네요..

제가 지금 쓰는 DB는 MS-SQL 7.0이고요

insert into temp (컬럼명...) value (값...);
할때 value부분에( :col1,:col2..) 모 이런식으로 코딩을
하더라고요..

그리고 나서
query.paramByName('col1').AsString := 'aaa';

모이런식으로 코딩을 하던데.. 흉내를 내서

해봤더니 paramByName('col1')이게 잘못된 컬럼이라나.. 그러면서 에러만

납니다. 당근 insert도 안돼고요.

기초 지식이 부족해서 이게 몬지 잘 모르겠어요.
그리고 쿼리를 이용할때 보면 위처럼 하고나서
query.add해서 쿼리문 에드하고. query.execsql (정확히 생각이 안나는데요)
이렇게 쿼리 실행하는것 같은데. 마지막에 commit까지 해줘야 하는건가요..

읽고있으니 답답하시죠..? 저두 답답합니다.
거의 하루종일 컴앞에서 고민하고 또 고민하고 있답니다.
그런데 실력은 좀처럼 늘지가 않아요.
몬가 시작하면 전에 하던게 가물하고 전에 하던걸 다시하면 앞에 하던게 다시 가물거리고
쩝 .. 고수가 되는 길은 멀고도 험하군요..
3  COMMENTS
  • Profile
    김경록 2002.05.14 19:05
    음... 이건 책봐도 나올문제 같은데..
    어쨌든 간단하 예제를 올려 드리죠..
    그리고, MS-SQL 서버 버젼에서는
    세그먼트 관리를 하시는게 좋을듯합니다..
    아니.. 무조건 하시는게 좋을 듯..

    Database1.StartTransaction;    //세그먼트 관리

    With Query1 Do
    Begin
          Close;
          With SQL Do
          Begin
                 Clear;
                 Add(' INSERT INTO TEMP                    ');
                 Add(' (CODE, NAME                            ');
                 Add(' VALUES                                     ');
                 Add(' (:PRM_CODE,  :PRM_NAME)       ');
          End;
          ParamByName('PRM_CODE').AsString := '100';
          ParamByName('PRM_ANME').AsString := '회계코드';
          
          Try
                ExecSQL;
          Except
                Database1.RollBack;
                ShowMessage('INSERT 실패');
          End;
    End;


    Database.Commit;

    답이 되셨을런지..
    (Param에 "PRM_"를 붙인 이유는 혹시나 예약어와 충돌할 수 있는
    경우를 없애기 위해서입니다.)

  • Profile
    박재용 2002.05.14 18:53
    Col1의 변수값을 다른 이름으로 바꿔보세요... !!
    그리고... 쿼리의 기본적인 사용방법을 제가 올려 드리죠 ^^
    제 생각엔 혹 Col1이 어디에선가 사용되고 있지 않을지? ^^

    (^^; 제가 생각하는 가장 기본적인 쿼리법)
    With Qry do Begin
          Cose ;
          Sql.CLear ;
          Sql.Add(' Select 필드명,... From 테이블명') ;
          Sql.Add(' Where 필드명 = :Param1 or 필드명 = :Param1 ') ;
          paramByName('Param1').Value :=  'aaa' ;
          paramByName('Param2').Value :=  'bbb' ;
          Open      ==> DataSet을 받을때..
          ExecSql  ==> Edit.. Insert.. Append  등의 DB에 물리적인 값을 넘길때..
    End;



  • Profile
    박연준 2002.05.14 19:15

    알고보니 쿼리 컨포넌트의 파람 체크가 false로 되어있더군요

    true 고쳐주고 위에 처럼 하니까 바로 되는 군요

    정말 고맙습니다. 좋은 하루 되세요
    • 권영덕
    • 2002.05.14 20:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 전수욱
      2002.05.14 22:27
      NeedData함수를 이용하세요.자세한것은 샘플에 있을 것입니다. procedure TPrnChr1Form.QuickRep1Before...
    • 황선희
      2002.10.19 00:31
      6라인은 고정적으로 출력할 건데여. 그런데 만약 두 라인은 데이타가 있고 나머진 없이 나와야 된다면 ...
    • 이정규
    • 2002.05.14 20:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박재용
      2002.05.14 20:46
      보통은 해당 코딩중에는 밴드위에 존재하는것처럼 보이지만.. 사실은 밴드아래에 존재하기 때문에 그런경...
    • 박동희
    • 2002.05.14 19:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 전수욱
      2002.05.14 22:30
      자세한것을 잘모르겠지만 아마도 파라독스는 1인용으로 알고 있습니다. 여러군데서 접속시 에러가 발생합...
    • 김경록
      2002.05.15 18:59
      파라독스도 멀티용으로 사용할 수 있겠지만.. 많은 문제 요소가 나타납니다.. 게시판 어디에선가.. 멀티...
    • 김재환
    • 2002.05.14 19:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이경규
      2002.05.14 19:43
      Tag 속성을 사용해 보십시오... 일반적으로 Tag 속성에 비베에서 사용하던 컨트롤 배열의 기능을 이용하...
    • 김재환
      2002.05.14 19:52
      감사합니다... 즐거운하루 되세요
    • 류영민
    • 2002.05.14 19:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이경규
      2002.05.14 19:46
      유닛 소스에서 Button3Click 메소드를 찾을 수 없다고 하네요 End 문장이 없던가... 소스의 끝에 End. 문...
    • 이경규
    • 2002.05.14 19:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이경규
      2002.05.14 20:03
      죄송합니다.^^ 급한마음에 글만 먼저 올려버려서리^^ 검색해보니 많은 분들의 답변이 절 기다리고 있더...
    • 박재용
      2002.05.14 20:00
      폰트의 규격이 달라서입니다.. 메인폼에서 폰트의 Charest  = DEFAULT_CHARSET 로 바꿔주세요.....
    • 김태용
    • 2002.05.14 19:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 민준기
      2005.10.06 03:42
      uses shellapi; function  ShellFileOp(OpMode: UInt; Src: string; Dest: string): Boolean;...
    • 나옹이
    • 2002.05.14 18:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박재용
      2002.05.14 20:04
      첨 ActiveX를 접할때는 좀 뭐같습니다.. 방법도 잘모르고,...ㅠㅠ 책자도 짜달시리 제대로 나와있는것도 ...
    • 최석기
      2002.05.14 19:31
      ActiveX를 불러오는 Html에서 버젼 체크 부분이 현 ActiveX의 버젼과 맞지 않는거 같군요.
    • 나옹이
      2002.05.14 19:50
      ActiveX 의 버전이란게 어디 있지요? OCX 를 말하는 거여요?
    • hello
      2002.05.14 21:40
      project-> options..로 가시면 버전관리를 할 수 있거덩요.. 그러면 그 버전 번호가 ocx만들때 생긴 *....
    • 이재철
    • 2002.05.14 16:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2002.05.14 18:45
      yo` 안녕하세요!! 백록화 입니다. :) 치완을 해야 합니다. 줄바꿈 (rn)을 <br> 태그로 바꿔줘...
    • 김경록
      2002.05.14 19:16
      에러메세지는여.. 해당 테이블이 열려 있다는 뜻입니다.. 테이블명은 Table:CVIDIOSHOPVI.DB입니다.. 해...
    • 김종균
      2002.05.14 20:50
      해당 테이블의 내용을 어떻게 닫아야 하는지 모르겠거든여 아시는 분 알려주세요... 즐거운 하루 보내세...
    • 박연준
    • 2002.05.14 09:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2002.05.14 19:05
      음... 이건 책봐도 나올문제 같은데.. 어쨌든 간단하 예제를 올려 드리죠.. 그리고, MS-SQL 서버 버젼에...
    • 박재용
      2002.05.14 18:53
      Col1의 변수값을 다른 이름으로 바꿔보세요... !! 그리고... 쿼리의 기본적인 사용방법을 제가 올려 드리...
    • 박연준
      2002.05.14 19:15
      알고보니 쿼리 컨포넌트의 파람 체크가 false로 되어있더군요 true 고쳐주고 위에 처럼 하니까 바로 ...
    • 신동묵
      2002.05.14 09:02
      제 생각엔요... StrToFloat 함수를 쓰시면 될 것 같은데요... 음... 그러니까... StrToFloat(edit1.text...
    • 김률권
    • 2002.05.14 07:58
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 박재용
      2002.05.14 18:43
      델파이 기초책을 우선 마스터 하세요... 오브젝트파스칼은 컴퓨터언어에 기본만 되어있다면 엄청.. -,.-쉽...
    • 김경록
      2002.05.14 08:40
      모든 프로그램 언어에서는 거의 사용치 않는 기능들이 있습니다.. 단연.. 어떤 업종이냐에 따라서.. 어떤...
    • 김률권
      2002.05.14 09:01
      저는 인터넷 쪽으로 해야 할거 같네요. 어떤식으로 해야 할지 아직 갈피는 못잡았지만,열씨미 노력하겠습...
    • 신동묵
      2002.05.14 08:20
      글쌔요?! 저두 델파이 시작한지 1년반 정도 밖에 되지 않아서 뭐라고 권해드려야 할지 모르겠네요. 제가 ...
    • 김률권
      2002.05.14 08:32
      확실히 맹목적으로 배우려는 의지만 가지고는 힘들것 같군요.말씀대로 책을 구해서 공부를 해야 겠군요 ㅎ_...
    • 우소
    • 2002.05.14 07:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2002.05.21 07:56
      가능합니다.... 대신 순수 도스에서는 안되겠지여.. 그렇게 하시려면.... 모든 것을 손수 구현하셔야 합...
    • 정찬희
      2002.05.14 11:18
      김상형씨가 쓴 <델파이 4.0 정복> 이요... 따른 책 보지 마세요...헛 수고 입니다... 제가 요즘에 ...
    • ywryu
    • 2002.05.14 04:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박재용
      2002.05.14 19:05
      우선 방법을 바꿔보시죠... 쿼리를 이용하여 데이타를 가져오실때... Order By 성명,금액 으로 불러오신...
    • 정성훈
    • 2002.05.14 04:07
    • 0 COMMENTS
    • /
    • 0 LIKES