Q&A

  • Update 편하게 하는 방법좀 알려주세여
레코드에 대해서 update 를 하려구 하는데여..
어떤 Table 에 필드가 만약에 100 라면...
update Tablename set
abc = 'aaa',
abd = 'aaa',
abe = 'aaa',
abf= 'aaa',
abg = 'aaa',
aba = 'aaa',
abz = 'aaa',
.
.
.
ab = 'aaa'

where 조건
이런식으로 100 개의 필들들을 일일이 코딩해야 하잔하요..
그러지 말고.. 간다하게 insert 문처럼 값만 일력하던지 아니면
그런게 있나여... field 에 대한 주소가 있나 해서여
첫번째 필드는 예를 들어 Field[0], Field[1] 이런식으로 있는지 없는디
모르지만 그러면

table 은 이런씩으로 했는데요.. query 문으로는 어찌해야 하나여...
DM_2.T_MoneyA.Append
DM_2.T_MoneyA.Fields[0].AsString := wEdit2.Text;
  For I := 1 To 60 Do
       DM_2.T_MoneyA.Fields[I].AsFloat := TwNumEdit(FindComPonent  
      ('wNumEdit' + IntToStr(I))).Value;

   DM_2.T_MoneyA.Post;

query 컴포넌트로는 어찌...
for 으로 필드면을 써주면..

델파이 소쓰에서 상

query1.Close;
query1.Sql.Clear;
query1.sql.Add('update tablename set');

for I := 0 to 100
begin // 여그는 어쩌고 저쩌고.. 이런씩으로....
  field[i] := TEdit(FindComPonent('Edit' + IntToStrI))).Value;
end;

where 조건
2  COMMENTS
  • Profile
    KDDG_09 2003.05.29 22:58
    Query 콤포넌트로도 Insert, Edit, Delete, Post 등등
    테이블 콤포넌트에서 했던것과 같이 사용할 수 있습니다.

    Query 콤포넌트의 sql 속성에는 select 문을 작성하고
    폼에 TUpdateSQL 컴포넌트를 올려놓으신후
    Query 의 UpdateObject 속성에 TUpdateSQL 컴포넌트를 연결하면
    창이 하나뜨는데 거기에서 제너레이트 버튼 누르면
    insert, update, delete 문이 만들어 집니다.
    그러구서 그냥 TTable 처럼 쓰면됩니다.

    어떤이들은 필드수가 많은 테이블의 insert 문 이나 업데이트문 만
    들기 구찮을때 임시로 TUpdateSQL 을 올려놓고 거기서
    제너레이트 시켜서 해당 문을 복사하는 용도로 사용하기도 하는데
    원래의 컴포넌트 목적은 아니죠..

    암튼 TUpdateSQL 을 사용하면 Join 걸린 것도 TTable처럼 사용
    할 수 있어서 편해요....

    TUpdateSQL 을 ChachedUpdate 와 같이 쓰면 궁합이 괞찮죠....

    그럼 즐프하세요



  • Profile
    major 2003.05.29 04:34


    그러면 이렇게 하는 건 어떨까요?

    update tablename set
    aaaa = :aaaa,
    bbbb = :bbbb, ......

    이런식으로 쿼리문을 만들구요...

    그리고 나서 마지막에 Execsql을 하시기 전에

    for I := 0 to 100
    begin
       Params[i].AsString := TEdit(FindComPonent('Edit' + IntToStrI))).Value;
    end;
    이렇게 하구 나서 Execsql을 하시면 될것 같은데요...

    제가 해 보지는 않았지만 그래두 그렇게 하시면 될것 같네여..

    그럼 즐프하세염...




    • 방은정
    • 2003.05.29 19:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.05.29 19:29
      안녕하세요. 최용일입니다. 레코드 선언하는 부분은 이상이 없네요... 뭔가 다른 부분에서 이상이 있는...
    • 장성석
    • 2003.05.29 16:52
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 나그네
    • 2003.05.29 11:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • yosule
      2003.05.30 20:46
      ^^
    • 권광화
    • 2003.05.29 11:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.05.29 19:36
      안녕하세요. 최용일입니다. Read/ReadLn, Write/WriteLn등의 함수를 이용해보세요... WriteLn('숫자...
    • 이정은
    • 2003.05.29 04:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_09
      2003.05.29 22:58
      Query 콤포넌트로도 Insert, Edit, Delete, Post 등등 테이블 콤포넌트에서 했던것과 같이 사용할 수 있습...
    • major
      2003.05.29 04:34
      그러면 이렇게 하는 건 어떨까요? update tablename set aaaa = :aaaa, bbbb = :bbbb, ...... ...
    • 김정은
    • 2003.05.29 03:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한영관
      2003.05.29 05:46
      a  와  b 사이의 난수를 발생하고자 한다면 예를 들어 b 가 상한선이라면.. ()에는...
    • 이성훈
      2003.05.29 05:02
              i := Random(100);      &nb...
    • 이상원
    • 2003.05.29 03:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박정일
      2003.05.29 22:11
      괜찮은 사이트입니다. fa.delphikorea.com 그리고 시리얼통신 자체에 관한 책은 [serial port complete...
    • 한만교
      2003.05.29 07:32
      안녕하세요,,,통신에 대한 자세한 내용을 다룬 책은 없습니다.. 단지 해당 자동화 관련 사이트를 찾아보세...
    • 정수지
    • 2003.05.29 03:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • major
      2003.05.29 04:27
      안녕하세요.. 위와 같이 하시려면 제 생각에는 그룹푸터를 사용하면 될 것 같은데요.. 그룹 헤더에...
    • 정수지
      2003.05.30 00:39
      메일을 보내려고 했는데...안가고 돌아오더라구여..^^;; 그래서 이렇게 다시 질문을 올립니다. 우선 님의...
    • ㉯㉰감자
      2003.05.29 18:56
      해당 쿼리를 날리고 읽어오는 부분의 소스좀 보여주시죠... ADO에서 마이너스값이 있어도 정상적으로 불...
    • 최진술
      2003.05.29 19:31
      아래에 소스올립니다.. - ADO CONNECTION의 CONNECTIONSTRING부분의 세팅부분 Provider=SQLOLEDB.1;...
    • ㉯㉰감자
      2003.05.29 23:22
      제가 MS SQL Server가 없어 Access로 테스트 해봤는데요... 여전히 잘되거든요... 아마도 님의 테이...
    • 최진술
      2003.05.30 19:19
      DB에는 분명 선택 레코드의 필드값에 마이너스값이 존재합니다.. BDE로 연결하면 정상적으로 잘나오거든...
    • 김정은
    • 2003.05.29 01:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이성훈
      2003.05.29 05:06
      c:Program FilesComm FilesBolrand SharedImages.. 그럼 즐푸하세요
    • 최용일
      2003.05.29 20:30
      안녕하세요. 최용일입니다. 자료실에서 CRC라고 검색해보세요... ^^ 항상 즐코하세요...
    • 최용일
      2003.05.29 20:14
      안녕하세요. 최용일입니다. 컴포넌트 소스를 수정하세요. Font속성을 만드셔서 쓰시던가 화면에 출력...
    • 김경남
    • 2003.05.29 00:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.05.29 20:09
      안녕하세요. 최용일입니다. Destroy를 직접적으로 호출하시는 것은 별로 안좋은 방법입니다. 대신에 Fre...
    • 조경모
    • 2003.05.29 00:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 별볼일없는
      2003.05.29 01:11
      options에 rowselect = False 하시면...
    • 조경모
      2003.05.29 02:32
    • 남궁혁
    • 2003.05.28 23:27
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 혜월
      2003.05.29 01:31
      모달폼은 메인에서 처리하지 말고 모달폼을 부르는 dll에서 free하면 됩니다. 이때는 loadlibrary 밑에 ...
    • 남궁혁
      2003.05.29 01:46
      네.. 안그래도 혜월님께서 말씀해 주신 것처럼.. Child 폼에서 모달폼을 해제 시키는 방법으로 ...
    • ㉯㉰감자
      2003.05.30 00:33
      ShowMessage 하면 정상작동하고 빼면..안된다... 저도 이런 Case를 당해봤는데요... 이럴때 applicat...
    • 남궁혁
      2003.05.30 03:17
      어제 오후에 해결을 했는데... 말하기가 좀 남사시러워서리.. 쩝.. Child 폼에서 불러냈던 폼...
    • 정수지
    • 2003.05.28 23:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정수지
      2003.05.28 23:46
      해결봤습니다..^_______________________________^ 왜 자동으로 생성되지 않는가는 모르겠지만.... 우쨌...
    • ㉯㉰감자
      2003.05.29 01:49
      콤포넌트(TQuery)에서 더블클릭시 나오는 필드들은 콤포넌트내의 SQL프로퍼티에 집어 넣은 쿼리문을 돌려...
    • 김정은
    • 2003.05.28 23:00
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정택
    • 2003.05.28 22:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.05.29 04:55
      샬롬~ 필드바이 네임을 쓰시려면 AddField해줘야 함니다.. Query1.fields.field[0].asString; 이건 ...