Q&A

  • [답변] 쿼리컴포넌트를 사용해서 insert하려고 합니다.
query1 컴포넌트를 사용해서 디비의 내용을 가지고 왔습니다.
여기에는 몇개의 가상필드도 만들어져 있어서 onCalcFields 이벤트가 발생하면 가상필드에 값이 들어갑니다.
보여줄때 필드값을 합해서 새로운 값을 보여줘야 하거든요...
이렇게 하고 버튼을 클릭하면 디비그리드가 insert모드로 바뀌고 insert가 되어야 하는데...
가상필드때문인지 에러가 나요...
'Genernal SQL Error --> 조건식의 데이터 형식이 일치하지 않습니다.'이렇게요
테이블컴포넌트를 써도 그렇고... 어떻게 해야하죠?
방밥좀 알려주세요...
이것때문에 며칠을 해메는지 모르겠습니다.
부탁드릴게요
2  COMMENTS
  • Profile
    엄승태 2002.07.05 01:46
    calcfield는 입력할 수 있는값이 아닙니다. 어짜피 님이 구현하신 calcfield도
    입력된 field 값을 조합해서 보여주는 것이기 때문에 여기서는 updatesql을 쓸
    수 없고, temp query를 일단 생성하신 후에 coding으로 insert 문장을 쓰셔서
    구현하시는게 날 듯 싶네요..
    가령, tmp_Q 라는 query 문이 없는 temp query component를 생성하신 후에
    insert 하려고 하실때
    with tmp_Q do
    begin
      Close;
      Sql.Clear;
      Sql.Add(' insert (into) table명 ');
      Sql.Add('-----');
      ExecSql;  
    end;

    이런식으로 구현하시면 되구요, 또 다른 insert 를 실행하실때도 temp Query를 같은 방법으로 구현하셔도 됩니다.
  • Profile
    하얀까마귀 2002.07.05 01:33
    안녕하세요 하얀까마귀 입니다.

    말씀하신 내용은 안됩니다.

    디비그리드 또는 UpdateSQL 등에서 할수있는건 순수한 필드에 대한것 뿐이에요 님처럼 select 문에서 가상필드를 만든경우에는 해당 필드를 인식할수가
    없기 때문에 처리가 불가능 합니다.

    따라서. 그리드에서 입력또는 수정을 못하도록 하셔야 합니다.

    대신.. 에디트박스같은걸 사용하셔서 해당 값을 입력또는
    수정하도록 하고 저장은 SQL 문 insert or Update 문을 사용하셔야 됩니다.

    간단한 디비이외에는 이렇게 작업하셔야 합니다.

    그럼..


    • 황민구
    • 2002.07.05 09:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 오소영
    • 2002.07.05 04:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 2002.07.05 08:59
      Form1 := TForm.Create(Self); Form1.ShowModal; -_-; 즐코하세요...^^
    • 성더기
      2002.07.05 18:35
      ShowModal은 모달폼아닌가요? Show가 모달리스폼인데..
    • 2002.07.06 12:55
      헐헐.. 그렇군요.. 다시...   Form1.Show; ㅋㅋ 즐코하세요...^^
    • 윤신호
      2002.07.05 06:03
      자세한 옵션 도움말을 보세요. '#','0'을 이용하여 정수형,또는 실수형등을 표현할 수 있습니다.
    • 최용일
      2002.07.05 19:01
      안녕하세요. 최용일입니다. THandle은 객체가 아니라 그냥 부호없는정수(DWORD)입니다. 이건 CreateF...
    • 정민섭
    • 2002.07.05 03:43
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이원상
    • 2002.07.05 02:45
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이원상
      2002.07.05 18:55
      그데 form as view는 어떻게 하나요?
    • 최용일
      2002.07.05 18:57
      폼에서 마우스 오른쪽 클릭해보세요... View as Text메뉴 있을겁니다.
    • 하얀까마귀
      2002.07.05 02:56
      안녕하세요 하얀까마귀 입니다. 무슨말씀이신지 제대로 이해했나 모르겠네요.. ctrl 키를 누르시고. ...
    • 최용일
      2002.07.05 02:55
      안녕하세요. 최용일입니다. 흠~ 1번은 자동으로 해주는 건 없네요 다만 폼을 View as Text로 해서 이벤...
    • 아폴론
    • 2002.07.05 02:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.07.05 03:25
      hsr///////////////////////////////////////////////////////////////// 아래는 게시판에 많이 나오는 외...
    • 하종옥
      2002.07.05 03:47
      한번 더 봐주시겠습니까? 될 줄 알았는데 또 안되네여.. 다음처럼 햇습니다. procedure TForm1.Button...
    • 머슴
      2002.07.05 05:01
      sList를 지역변수 으로 사용해서 그런것 같은데요.. private문 아래나 public문밑에 sList &nb...
    • 하종옥
      2002.07.05 02:52
    • 머슴
      2002.07.05 02:39
      스트링리스트를 한번 이용해보시는것이.. 스트링리스트내에서 소트도 되는것 같고...(sList.Sort) ...
    • KDDG_ZZOM
      2002.07.05 02:35
      루프쓰시면서 루프안에서 쿼리.next를 쓰세요... 물론 루프바로위에서 first로 처음으로 이동시킨후... ...
    • 하종옥
      2002.07.05 20:43
      이렇게 받아온 놈들을 다시 showmessage로 한 번 뿌릴라고 합니다. 그러면 stringList는 []이니까 다시 lo...
    • 엄승태
    • 2002.07.05 01:53
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 엄승태
      2002.07.05 01:46
      calcfield는 입력할 수 있는값이 아닙니다. 어짜피 님이 구현하신 calcfield도 입력된 field 값을 조합해...
    • 하얀까마귀
      2002.07.05 01:33
      안녕하세요 하얀까마귀 입니다. 말씀하신 내용은 안됩니다. 디비그리드 또는 UpdateSQL 등에서 할수...
    • 하얀까마귀
      2002.07.05 01:27
      안녕하세요 하얀까마귀 입니다. 다이렉트 엑스를 쓰실려면.. 콤포넌트가 있어요.. 그런걸 사용하셔도...
    • 이정기
      2002.07.05 01:44
      DelphiX를 찾아보니 버전 5까지 밖엔 안나왔나여???? 6.0용 delphix는 구할수 없나여? 하루종일 돌...
    • 박창범
      2002.07.06 01:37
      DelphiX 로 검색해보시면 나올겁니다..6.0용입니다. 그리고 DirectX 8.0 헤더역시 자료실에 있더군요,. ...
    • 2002.07.05 09:06
      판넬 위에 버튼을 원하는 만큼 올립니다. Shift Key를 누른 상태에서 판넬과 그 위의의 하나로 묶고자 하...
    • 정영희
      2002.07.05 20:28
      답변 감사합니다.. 근데 제가 질문을 좀 더 자세히 했어야 했는데... 컴포넌트를 그렇게 만든 후에.. ocx...
    • 하얀까마귀
      2002.07.05 01:25
      안녕하세요 하얀까마귀 입니다. 판넬에데가 에디트 기능을 넣는건 힘드시겠죠? 그럼. 그냥 에디트들 ...
    • 정영희
      2002.07.05 01:39
      답변 감사합니다. 근데.. 툴바에서 마우스 오른쪽 버튼 클릭하면.. New Button 이라고 나오잖아요.. 그런...
    • totolo
    • 2002.07.05 00:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.05 00:50
      dll 을 사용하세요.. 또는 로칼db를 많이 가지는 프로그램을 만드세용. 이미지나 사운드, 동영상을 가지...
    • 정하연
    • 2002.07.05 00:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이선경
      2002.07.08 03:12
      꽁수를 쓰십시요 도트 프린터 걸려 있는 쪽의 pc에 서버용 프로그램을 돌려서 서버에서 출력하면 간단히...
    • 머슴
      2002.07.05 02:20
      저도 님과 같은 경우를 겪었습니다... AssignFile로 프린트하는 방법은 직접프린터 방식밖에 지원을 ...
    • 왕정민
    • 2002.07.04 23:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.07.05 02:24
        Delphi 자료실에 가시면 검색어 인스톨쉴드로 검색하거나   옆에 카테고리에서 ...
    • 장태원
      2002.07.05 00:49
      윈도우2000에서 개발된 프로그램은 98에서 깨질수 있습니다. 예를 들어..폰트차이도 있죠. 찐하게 ...
    • 성더기
      2002.07.05 19:08
      여러가지 방법이 있지 않나요?..^^ 일단 폼의 BorderStyle을 싱글루하구 보더 아이콘에서 멕시마이즈 버튼...
    • 박영수
      2002.07.04 23:54
      폼의 Properties의 BorderStyle을 bsSingle로 하고요. BorderIcons에서 biMaximize를 False로 하면 되네요...
    • 오프라인
      2002.07.04 22:25
      폼 크기를 고정시키시려면 OnResize 이벤트에 폼의 크기(Height, Width)를 코딩해주시면 됨다.. 그...
    • 수서니
    • 2002.07.04 21:25
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 사발우성
      2002.07.04 21:40
      하이루 촙 사발임돠... 입력문에 open이 들어 왔네엽....open은 조회시 사용함돠...^^;; 대충 고쳐봤는디...
    • 단현석
      2002.07.04 21:38
      왜 쿼리를 오픈하시는지 모르겠네요. 쿼리를 오픈하면 쿼리의 sql 문을 실행하고 결과 데이터를 가져오...
    • 수서니
      2002.07.04 22:14
      쿼리문을 계속 바꾸면 최종적으로 쿼리에 남는건 마지막에 수행한게 되는건가요? 처음에 조회된건 insert...
    • 단현석
      2002.07.05 00:03
      왜 쿼리문을 동적으로 넣는지 모르겠습니다. 유지 보수를 하기 쉽게 하기 위해 서라도 쿼리에 SQL 문을 ...
    • 성더기
      2002.07.05 19:12
      디자인시에 쿼리문을 집어 넣어 둔다구 하셨는데.. 테이블이 몇십개씩 되구 조회 따위의 화면두 엄청 많...